Function at 0x100e7c10
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x1018ea33
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x47c
mov eax, dword [esp + 0x49c]
mov edx, dword [esp + 0x494]
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [esp + 0x4a4]
push edi
push eax
mov eax, dword [esp + 0x4a4]
push ecx
push edx
push eax
mov ecx, esi
mov dword [esp + 0x24], esi
call fcn.100e7190
mov edx, dword [esp + 0x4b0]
mov eax, 0xd
xor ecx, ecx
mov dword [esi + 0xdb8], eax
mov dword [esi + 0xdc8], eax
mov dword [esi], 0x10193fb0
mov dword [esi + 0x1c], edx
mov dword [esi + 0x5a8], ecx
mov esi, dword [esi + 0x14]
mov dword [esp + 0x494], ecx
cmp esi, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x5c], eax
je 0x100e7d8b
push 8
call fcn.1005473e
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x494], 1
je 0x100e7cc9
push esi
mov ecx, eax
call fcn.1008f950
mov edi, eax
jmp 0x100e7ccb
xor edi, edi
mov eax, dword [edi]
xor esi, esi
test eax, eax
mov byte [esp + 0x494], 0
jle 0x100e7cf5
mov eax, dword [edi + 4]
cmp byte [esi + eax], 0x20
jne 0x100e7cf0
push 1
push esi
mov ecx, edi
call fcn.10090f90
jmp 0x100e7cf1
inc esi
cmp esi, dword [edi]
jl 0x100e7cdb
xor ebp, ebp
mov ebx, 0x33
lea eax, [ebx + ebp]
cdq
sub eax, edx
mov esi, eax
sar esi, 1
mov ecx, dword [esi*8 + 0x101e3458]
push ecx
mov ecx, edi
call fcn.10091200
test eax, eax
jl 0x100e7d1d
mov ebp, esi
jmp 0x100e7d1f
mov ebx, esi
mov edx, ebx
sub edx, ebp
cmp edx, 1
jg 0x100e7cfc
mov eax, dword [ebp*8 + 0x101e3458]
mov ecx, edi
push eax
call fcn.10091200
test eax, eax
jne 0x100e7d77
push 8
call fcn.1005473e
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x494], 2
je 0x100e7d66
mov ecx, dword [ebp*8 + 0x101e345c]
push ecx
mov ecx, eax
call fcn.1008f800
jmp 0x100e7d68
xor eax, eax
mov edx, dword [esp + 0x14]
mov byte [esp + 0x494], 0
mov dword [edx + 0x14], eax
test edi, edi
je 0x100e7d8b
mov ecx, edi
call fcn.1008fbb0
push edi
call fcn.10054626
add esp, 4
mov ebx, dword [esp + 0x14]
xor ecx, ecx
xor ebp, ebp
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x18], ebp
cmp eax, ecx
je 0x100e7dc6
xor edi, edi
mov esi, 0x101d5830
mov eax, dword [esi]
mov ecx, dword [ebx + 0x14]
push eax
call fcn.10091200
test eax, eax
je 0x100e7f56
add esi, 0x18
inc edi
cmp esi, 0x101d5980
jl 0x100e7da5
xor ecx, ecx
lea edi, [ebx + 0x68]
mov eax, 0x66666666
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x98], eax
mov dword [ebx + 0x80], ecx
mov dword [ebx + 0x78], ecx
mov dword [ebx + 0x70], ecx
mov dword [edi], ecx
mov dword [ebx + 0x94], 0x3fee6666
mov dword [ebx + 0x9c], 0xbfd66666
mov dword [ebx + 0x84], ecx
mov dword [ebx + 0x7c], ecx
mov dword [ebx + 0x74], ecx
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x4b4]
mov eax, dword [esp + 0x49c]
push edx
push eax
mov ecx, ebx
call fcn.100e72f0
xor esi, esi
cmp ebp, esi
je 0x100e7ebb
cmp dword [ebx + 0x28], esi
jge 0x100e7ebb
movsx ecx, word [ebp + 8]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x10193fa8]
fstp qword [ebx + 0x90]
movsx edx, word [ebp + 0xa]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul qword [0x10193fa8]
fstp qword [ebx + 0x98]
movsx eax, word [ebp + 0xc]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x10193fa8]
fstp qword [edi]
movsx ecx, word [ebp + 0xe]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x10193fa8]
fstp qword [ebx + 0x70]
movsx edx, word [ebp + 0x10]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul qword [0x10193fa8]
fstp qword [ebx + 0x78]
movsx eax, word [ebp + 0x12]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x10193fa8]
fstp qword [ebx + 0x80]
mov ecx, ebx
call fcn.100e7a20
lea ebp, [ebx + 0x38]
lea ecx, [esp + 0x30]
mov eax, 0x3ff00000
push ecx
mov ecx, dword [esp + 0x4b8]
mov dword [ebx + 0x50], esi
mov dword [ebp], esi
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x58], esi
mov dword [ebx + 0x48], esi
mov dword [ebx + 0x40], esi
push str.FontMatrix
mov dword [ebx + 0x54], eax
mov dword [ebp + 4], eax
mov dword [ebx + 0x64], esi
mov dword [ebx + 0x5c], esi
mov dword [ebx + 0x4c], esi
mov dword [ebx + 0x44], esi
call fcn.100ad0d0
mov ecx, dword [eax]
xor edx, edx
cmp ecx, 6
sete dl
mov eax, edx
cmp eax, esi
je 0x100e8019
xor esi, esi
mov ecx, dword [esp + 0x38]
cmp esi, dword [ecx + 0xc]
jge 0x100e8017
lea eax, [esp + 0x40]
push eax
push esi
call fcn.100b2f80
mov eax, dword [eax]
cmp eax, 1
je 0x100e7f42
cmp eax, 2
jne 0x100e8001
cmp dword [esp + 0x40], 1
jne 0x100e7ffa
fild dword [esp + 0x48]
jmp 0x100e7ffe
lea ecx, [edi + edi*2]
lea ebp, [ecx*8 + 0x101d5830]
test ebp, ebp
mov dword [esp + 0x18], ebp
je 0x100e7dc4
movsx edx, word [ebp + 8]
mov dword [esp + 0x10], edx
lea edi, [ebx + 0x68]
fild dword [esp + 0x10]
fmul qword [0x10193fa8]
fstp qword [ebx + 0x90]
movsx eax, word [ebp + 0xa]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x10193fa8]
fstp qword [ebx + 0x98]
movsx ecx, word [ebp + 0xc]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x10193fa8]
fstp qword [edi]
movsx edx, word [ebp + 0xe]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul qword [0x10193fa8]
fstp qword [ebx + 0x70]
movsx eax, word [ebp + 0x10]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x10193fa8]
fstp qword [ebx + 0x78]
movsx ecx, word [ebp + 0x12]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x10193fa8]
fstp qword [ebx + 0x80]
jmp 0x100e7e0b
fld qword [esp + 0x48]
fstp qword [ebp]
lea ecx, [esp + 0x40]
call fcn.100986a0
inc esi
add ebp, 8
cmp esi, 6
jl 0x100e7f1a
xor esi, esi
lea ecx, [esp + 0x30]
call fcn.100986a0
mov eax, dword [ebx + 0x1c]
mov ebp, 4
cmp eax, ebp
jne 0x100e8111
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x4b8]
push str.FontBBox
call fcn.100ad0d0
mov ecx, dword [eax]
xor edx, edx
cmp ecx, 6
sete dl
mov eax, edx
cmp eax, esi
je 0x100e809c
mov ecx, dword [esp + 0x38]
cmp esi, dword [ecx + 0xc]
jge 0x100e809c
lea eax, [esp + 0x40]
push eax
push esi
call fcn.100b2f80
mov eax, dword [eax]
cmp eax, 1
je 0x100e8078
cmp eax, 2
jne 0x100e808b
cmp dword [esp + 0x40], 1
jne 0x100e8085
fild dword [esp + 0x48]
jmp 0x100e8089
fld qword [esp + 0x48]
fstp qword [edi]
lea ecx, [esp + 0x40]
call fcn.100986a0
inc esi
add edi, 8
cmp esi, ebp
jl 0x100e8058
lea ecx, [esp + 0x30]
call fcn.100986a0
mov edi, dword [esp + 0x4b4]
lea esi, [ebx + 0xdb8]
push esi
push str.CharProcs
mov ecx, edi
call fcn.100ad0d0
mov edx, dword [eax]
xor ecx, ecx
cmp edx, 7
sete cl
mov eax, ecx
test eax, eax
jne 0x100e80e5
push str.Missing_or_invalid_CharProcs_dictionary_in_Type_3_font
push 0xffffffffffffffff
call fcn.100912b0
add esp, 8
mov ecx, esi
call fcn.100986a0
lea esi, [ebx + 0xdc8]
mov ecx, edi
push esi
push str.Resources
call fcn.100ad0d0
mov edi, dword [eax]
xor edx, edx
cmp edi, 7
sete dl
mov eax, edx
test eax, eax
jne 0x100e810f
mov ecx, esi
call fcn.100986a0
xor esi, esi
mov ecx, dword [esp + 0x4b4]
lea eax, [esp + 0x30]
push eax
push str.Encoding
mov dword [ebx + 0x5ac], esi
mov dword [ebx + 0x5b0], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x30], esi
call fcn.100ad0d0
mov eax, dword [esp + 0x30]
cmp eax, 7
jne 0x100e826c
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x3c]
push str.BaseEncoding
call fcn.100ad0d0
cmp dword [esp + 0x40], ebp
jne 0x100e825e
mov edi, dword [esp + 0x48]
mov esi, str.MacRomanEncoding
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x100e8194
test dl, dl
je 0x100e8190
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x100e8194
add ecx, 2
add esi, 2
test dl, dl
jne 0x100e8170
xor ecx, ecx
jmp 0x100e8199
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x100e81c4
mov eax, 1
lea ecx, [esp + 0x40]
mov dword [ebx + 0x5ac], eax
mov dword [ebx + 0x5b0], eax
mov dword [esp + 0x1c], 0x101c73dc
call fcn.100986a0
jmp 0x100e8358
mov esi, str.MacExpertEncoding
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x100e81ef
test dl, dl
je 0x100e81eb
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x100e81ef
add ecx, 2
add esi, 2
test dl, dl
jne 0x100e81cb
xor ecx, ecx
jmp 0x100e81f4
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x100e8218
lea ecx, [esp + 0x40]
mov dword [ebx + 0x5ac], 1
mov dword [esp + 0x1c], 0x101c77dc
call fcn.100986a0
jmp 0x100e8358
mov esi, str.WinAnsiEncoding
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100e8243
test cl, cl
je 0x100e823f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100e8243
add eax, 2
add esi, 2
test cl, cl
jne 0x100e821f
xor eax, eax
jmp 0x100e8248
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100e825e
mov dword [ebx + 0x5ac], 1
mov dword [esp + 0x1c], 0x101c7bdc
lea ecx, [esp + 0x40]
call fcn.100986a0
jmp 0x100e8358
cmp eax, ebp
jne 0x100e8358
mov edi, dword [esp + 0x38]
mov esi, str.MacRomanEncoding
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100e82a3
test cl, cl
je 0x100e829f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100e82a3
add eax, 2
add esi, 2
test cl, cl
jne 0x100e827f
xor eax, eax
jmp 0x100e82a8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100e82ca
mov eax, 1
mov dword [esp + 0x1c], 0x101c73dc
mov dword [ebx + 0x5ac], eax
mov dword [ebx + 0x5b0], eax
jmp 0x100e8358
mov esi, str.MacExpertEncoding
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100e82f5
test cl, cl
je 0x100e82f1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100e82f5
add eax, 2
add esi, 2
test cl, cl
jne 0x100e82d1
xor eax, eax
jmp 0x100e82fa
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100e8312
mov dword [ebx + 0x5ac], 1
mov dword [esp + 0x1c], 0x101c77dc
jmp 0x100e8358
mov esi, str.WinAnsiEncoding
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100e833d
test cl, cl
je 0x100e8339
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100e833d
add eax, 2
add esi, 2
test cl, cl
jne 0x100e8319
xor eax, eax
jmp 0x100e8342
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100e8358
mov dword [ebx + 0x5ac], 1
mov dword [esp + 0x1c], 0x101c7bdc
mov eax, dword [ebx + 0x1c]
xor esi, esi
xor ebp, ebp
cmp eax, 1
mov dword [esp + 0x20], esi
mov dword [esp + 0x10], esi
jne 0x100e8438
mov ecx, dword [ebx + 0x30]
cmp ecx, esi
jne 0x100e8384
cmp dword [ebx + 0x28], esi
jl 0x100e8438
cmp ecx, esi
je 0x100e8392
mov ecx, dword [ecx + 4]
push ecx
call fcn.100f19a0
add esp, 4
jmp 0x100e83b6
mov ecx, dword [esp + 0x49c]
lea eax, [esp + 0x50]
push eax
push ecx
mov ecx, ebx
call fcn.100e7b20
mov edx, dword [esp + 0x50]
mov ebp, eax
push edx
push ebp
call fcn.100f1930
add esp, 8
mov edi, eax
cmp edi, esi
mov dword [esp + 0x20], edi
je 0x100e850a
mov ecx, edi
call fcn.100f1ad0
test eax, eax
je 0x100e8420
mov esi, dword [ebx + 0x24]
test esi, esi
je 0x100e83e6
mov ecx, esi
call fcn.1008fbb0
push esi
call fcn.10054626
add esp, 4
push 8
call fcn.1005473e
mov esi, eax
add esp, 4
mov dword [esp + 0x54], esi
test esi, esi
mov byte [esp + 0x494], 3
je 0x100e8413
mov ecx, edi
call fcn.100f1ad0
push eax
mov ecx, esi
call fcn.1008f800
jmp 0x100e8415
xor eax, eax
mov byte [esp + 0x494], 0
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x100e850a
mov ecx, edi
call fcn.100f1af0
jmp 0x100e84fe
cmp eax, 2
jne 0x100e8517
mov eax, dword [ebx + 0x30]
test eax, eax
jne 0x100e8457
mov ecx, dword [ebx + 0x28]
test ecx, ecx
jl 0x100e8517
test eax, eax
je 0x100e8465
mov eax, dword [eax + 4]
push eax
call fcn.100ea7d0
add esp, 4
jmp 0x100e8489
mov ecx, dword [esp + 0x49c]
lea eax, [esp + 0x50]
push eax
push ecx
mov ecx, ebx
call fcn.100e7b20
mov edx, dword [esp + 0x50]
mov ebp, eax
push edx
push ebp
call fcn.100ea740
add esp, 8
mov edi, eax
test edi, edi
mov dword [esp + 0x10], edi
je 0x100e850a
mov ecx, edi
call fcn.100ea9e0
test eax, eax
je 0x100e84ef
mov esi, dword [ebx + 0x24]
test esi, esi
je 0x100e84b5
mov ecx, esi
call fcn.1008fbb0
push esi
call fcn.10054626
add esp, 4
push 8
call fcn.1005473e
mov esi, eax
add esp, 4
mov dword [esp + 0x54], esi
test esi, esi
mov byte [esp + 0x494], 4
je 0x100e84e2
mov ecx, edi
call fcn.100ea9e0
push eax
mov ecx, esi
call fcn.1008f800
jmp 0x100e84e4
xor eax, eax
mov byte [esp + 0x494], 0
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x100e850a
mov ecx, edi
call fcn.100ea9f0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], 1
test ebp, ebp
je 0x100e8517
push ebp
call fcn.100afa10
add esp, 4
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x100e8559
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100e8541
mov ecx, dword [ebx + 0x28]
test ecx, ecx
jge 0x100e8541
mov eax, dword [eax + 4]
mov dword [ebx + 0x5ac], 1
mov dword [esp + 0x1c], eax
jmp 0x100e8559
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x1c], 0x101c7bdc
cmp eax, 5
je 0x100e8559
mov dword [esp + 0x1c], 0x101c7fdc
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
xor ebp, ebp
lea esi, [ecx + 0xa8]
lea ebx, [ecx + 0x4a8]
mov edx, dword [edi]
mov eax, dword [esp + 0x28]
mov dword [esi], edx
mov byte [ebx + ebp], al
test al, al
je 0x100e8598
cmp dword [esi], 0
je 0x100e8598
mov eax, dword [edi]
push eax
call fcn.100afa20
mov ecx, dword [esp + 0x18]
mov dword [esi], eax
mov eax, dword [esp + 0x2c]
add esp, 4
inc ebp
add edi, 4
add esi, 4
cmp ebp, 0x100
jl 0x100e856f
cmp dword [ecx + 0x1c], 2
jne 0x100e85ea
mov edx, dword [ecx + 0x30]
test edx, edx
jne 0x100e85bb
mov edx, dword [ecx + 0x28]
test edx, edx
jl 0x100e85ea
test eax, eax
je 0x100e85ea
mov esi, ebx
mov eax, 0x101c7fdc
add ecx, 0xa8
cmp dword [ecx], 0
jne 0x100e85dc
mov edx, dword [eax]
test edx, edx
je 0x100e85dc
mov dword [ecx], edx
mov byte [esi], 0
add eax, 4
add ecx, 4
inc esi
cmp eax, 0x101c83dc
jl 0x100e85cc
cmp dword [esp + 0x30], 7
jne 0x100e86cd
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x3c]
push str.Differences
call fcn.100ad0d0
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x14]
cmp eax, 6
jne 0x100e86c2
mov ecx, dword [esp + 0x48]
mov dword [ebp + 0x5ac], 1
xor esi, esi
xor edi, edi
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x100e86c2
lea edx, [esp + 0x5c]
push edx
push edi
call fcn.100b2f80
mov eax, dword [esp + 0x5c]
cmp eax, 1
jne 0x100e8650
mov esi, dword [esp + 0x64]
jmp 0x100e86ab
cmp eax, 4
jne 0x100e8692
test esi, esi
jl 0x100e868f
cmp esi, 0x100
jge 0x100e868f
cmp byte [ebx + esi], 0
je 0x100e8677
mov eax, dword [ebp + esi*4 + 0xa8]
push eax
call fcn.100afa10
add esp, 4
mov ecx, dword [esp + 0x64]
push ecx
call fcn.100afa20
mov dword [ebp + esi*4 + 0xa8], eax
add esp, 4
mov byte [ebx + esi], 1
inc esi
jmp 0x100e86ab
lea ecx, [esp + 0x5c]
call fcn.10098790
push eax
push str.Wrong_type_in_font_encoding_resource_differences___s_
push 0xffffffffffffffff
call fcn.100912b0
add esp, 0xc
lea ecx, [esp + 0x5c]
call fcn.100986a0
mov ecx, dword [esp + 0x48]
inc edi
cmp edi, dword [ecx + 0xc]
jl 0x100e8636
lea ecx, [esp + 0x40]
call fcn.100986a0
jmp 0x100e86d1
mov ebp, dword [esp + 0x14]
lea ecx, [esp + 0x30]
call fcn.100986a0
mov ecx, dword [esp + 0x20]
xor edi, edi
cmp ecx, edi
je 0x100e86ea
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esp + 0x10]
cmp ecx, edi
je 0x100e86f8
mov eax, dword [ecx]
push 1
call dword [eax]
lea eax, [ebp + 0xa8]
mov dword [esp + 0x28], edi
lea ebx, [esp + 0x8c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], 0x100
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx]
test ebp, ebp
je 0x100e8843
mov ecx, dword [0x101f9ff4]
push ebp
call fcn.10096a80
test eax, eax
mov dword [ebx], eax
jne 0x100e8849
mov esi, str..notdef
mov eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100e8764
test cl, cl
je 0x100e8760
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100e8764
add eax, 2
add esi, 2
test cl, cl
jne 0x100e8740
xor eax, eax
jmp 0x100e8769
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100e8849
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 3
jne 0x100e87db
movsx eax, byte [ebp]
push eax
call fcn.100570dd
add esp, 4
test eax, eax
je 0x100e87db
movsx ecx, byte [ebp + 1]
push ecx
call fcn.10057183
add esp, 4
test eax, eax
je 0x100e87db
movsx edx, byte [ebp + 2]
push edx
call fcn.10057183
add esp, 4
test eax, eax
je 0x100e87db
mov al, byte [ebp + 1]
cmp al, 0x61
jl 0x100e87c0
cmp al, 0x66
jle 0x100e8834
cmp al, 0x41
jl 0x100e87c8
cmp al, 0x46
jle 0x100e8834
mov al, byte [ebp + 2]
cmp al, 0x61
jl 0x100e87d3
cmp al, 0x66
jle 0x100e8834
cmp al, 0x41
jl 0x100e87db
cmp al, 0x46
jle 0x100e8834
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jne 0x100e883c
movsx eax, byte [ebp]
push eax
call fcn.10057183
add esp, 4
test eax, eax
je 0x100e883c
movsx ecx, byte [ebp + 1]
push ecx
call fcn.10057183
add esp, 4
test eax, eax
je 0x100e883c
mov al, byte [ebp]
cmp al, 0x61
jl 0x100e8819
cmp al, 0x66
jle 0x100e8834
cmp al, 0x41
jl 0x100e8821
cmp al, 0x46
jle 0x100e8834
mov al, byte [ebp + 1]
cmp al, 0x61
jl 0x100e882c
cmp al, 0x66
jle 0x100e8834
cmp al, 0x41
jl 0x100e883c
cmp al, 0x46
jg 0x100e883c
mov dword [esp + 0x28], 1
mov edi, 1
jmp 0x100e8849
mov dword [ebx], 0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
add edx, 4
add ebx, 4
dec eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], eax
jne 0x100e8715
test edi, edi
je 0x100e8a98
mov ecx, dword [0x101f9ff4]
call fcn.10097520
test eax, eax
je 0x100e8a6e
mov edx, dword [esp + 0x14]
lea ebx, [esp + 0x8c]
mov dword [esp + 0x20], 0x100
lea eax, [edx + 0xa8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov ebp, dword [eax]
test ebp, ebp
je 0x100e8a4f
cmp dword [ebx], 0
jne 0x100e8a4f
mov esi, str..notdef
mov eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100e88e0
test cl, cl
je 0x100e88dc
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100e88e0
add eax, 2
add esi, 2
test cl, cl
jne 0x100e88bc
xor eax, eax
jmp 0x100e88e5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100e8a4f
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], 0xffffffff
not ecx
dec ecx
test eax, eax
mov esi, ecx
je 0x100e89a1
cmp esi, 3
jne 0x100e8962
movsx eax, byte [ebp]
push eax
call fcn.100570dd
add esp, 4
test eax, eax
je 0x100e8962
movsx ecx, byte [ebp + 1]
lea edi, [ebp + 1]
push ecx
call fcn.10057183
add esp, 4
test eax, eax
je 0x100e8962
movsx edx, byte [ebp + 2]
push edx
call fcn.10057183
add esp, 4
test eax, eax
je 0x100e8962
lea eax, [esp + 0x2c]
push eax
push 0x101c3c78
push edi
call fcn.1005480d
add esp, 0xc
jmp 0x100e8a3e
cmp esi, 2
jne 0x100e89d0
movsx ecx, byte [ebp]
push ecx
call fcn.10057183
add esp, 4
test eax, eax
je 0x100e89d0
movsx edx, byte [ebp + 1]
push edx
call fcn.10057183
add esp, 4
test eax, eax
je 0x100e89d0
lea eax, [esp + 0x2c]
push eax
push 0x101c3c78
push ebp
call fcn.1005480d
add esp, 0xc
jmp 0x100e8a3e
cmp esi, 2
jl 0x100e89d0
cmp esi, 4
jg 0x100e89d0
movsx ecx, byte [ebp]
push ecx
call fcn.1005715b
add esp, 4
test eax, eax
je 0x100e89d0
movsx edx, byte [ebp + 1]
push edx
call fcn.1005715b
add esp, 4
test eax, eax
je 0x100e89d0
push ebp
jmp 0x100e8a32
cmp esi, 3
jl 0x100e8a02
cmp esi, 5
jg 0x100e8a02
movsx eax, byte [ebp + 1]
lea edi, [ebp + 1]
push eax
call fcn.1005715b
add esp, 4
test eax, eax
je 0x100e8a02
movsx ecx, byte [ebp + 2]
push ecx
call fcn.1005715b
add esp, 4
test eax, eax
je 0x100e8a02
push edi
jmp 0x100e8a32
cmp esi, 4
jl 0x100e8a3e
cmp esi, 6
jg 0x100e8a3e
movsx edx, byte [ebp + 2]
lea esi, [ebp + 2]
push edx
call fcn.1005715b
add esp, 4
test eax, eax
je 0x100e8a3e
movsx eax, byte [ebp + 3]
push eax
call fcn.1005715b
add esp, 4
test eax, eax
je 0x100e8a3e
push esi
call fcn.10057877
add esp, 4
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
test eax, eax
jl 0x100e8a4f
cmp eax, 0xff
jg 0x100e8a4f
mov dword [ebx], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
add edx, 4
add ebx, 4
dec eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], eax
jne 0x100e889e
jmp 0x100e8a98
mov ecx, dword [0x101f9ff4]
call fcn.10097550
test eax, eax
je 0x100e8a98
xor eax, eax
lea ecx, [esp + 0x8c]
cmp dword [ecx], 0
jne 0x100e8a8d
mov dword [ecx], eax
inc eax
add ecx, 4
cmp eax, 0x100
jl 0x100e8a86
lea ecx, [esp + 0x8c]
push ecx
call fcn.100b19b0
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x4b8]
add esp, 4
mov ecx, esi
mov dword [esi + 0x5a8], eax
push eax
push 8
push ebx
call fcn.100e7900
mov eax, dword [esi + 0x14]
test eax, eax
je 0x100e8b85
mov ecx, dword [0x101f9ff4]
push eax
call fcn.10097760
mov ebp, eax
test ebp, ebp
je 0x100e8b85
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x8c]
lea edx, [esp + 0x8c]
rep stosd dword es:[edi], eax
push edx
call fcn.100b19b0
add esp, 4
mov edi, eax
xor esi, esi
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x6c]
push 8
push eax
mov ecx, dword [ecx + 0x5a8]
push esi
call fcn.100b26f0
cmp eax, 1
jl 0x100e8b4b
mov eax, dword [esp + 0x6c]
lea edx, [esp + 0x6c]
push 8
push edx
push eax
mov ecx, ebp
call fcn.100b26f0
cmp eax, 1
jl 0x100e8b4b
lea ecx, [esp + 0x6c]
push eax
push ecx
push esi
mov ecx, edi
call fcn.100b2630
inc esi
cmp esi, 0x100
jl 0x100e8b09
mov ecx, ebp
call fcn.100b25b0
mov edx, dword [esp + 0x14]
mov esi, dword [edx + 0x5a8]
test esi, esi
je 0x100e8b79
mov ecx, esi
call fcn.100b2540
push esi
call fcn.10054626
add esp, 4
mov eax, dword [esp + 0x14]
mov esi, eax
mov dword [eax + 0x5a8], edi
lea edi, [esi + 0x5b8]
mov ecx, 0x100
mov eax, edi
fld qword [esi + 0x88]
fmul qword [0x10193fa8]
add eax, 8
dec ecx
fstp qword [eax - 8]
jne 0x100e8b92
lea ecx, [esp + 0x30]
push ecx
push str.FirstChar
mov ecx, ebx
call fcn.100ad0d0
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
dec esi
neg esi
sbb esi, esi
not esi
and esi, ecx
lea ecx, [esp + 0x30]
call fcn.100986a0
test esi, esi
jl 0x100e8bde
cmp esi, 0xff
jle 0x100e8be0
xor esi, esi
lea edx, [esp + 0x30]
mov ecx, ebx
push edx
push str.LastChar
call fcn.100ad0d0
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x38]
cmp eax, 1
je 0x100e8c03
mov ebp, 0xff
lea ecx, [esp + 0x30]
call fcn.100986a0
test ebp, ebp
jl 0x100e8c18
cmp ebp, 0xff
jle 0x100e8c1d
mov ebp, 0xff
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x1c], 4
jne 0x100e8c3a
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
add eax, 0x38
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
jmp 0x100e8c4a
mov dword [esp + 0x54], 0xd2f1a9fc
mov dword [esp + 0x58], 0x3f50624d
lea eax, [esp + 0x30]
mov ecx, ebx
push eax
push str.Widths
call fcn.100ad0d0
cmp dword [esp + 0x30], 6
jne 0x100e8cfc
mov eax, dword [esp + 0x14]
mov edx, ebp
sub edx, esi
mov ecx, dword [eax + 0x20]
or ecx, 1
inc edx
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0xc]
cmp eax, edx
jge 0x100e8c87
lea ebp, [eax + esi - 1]
cmp esi, ebp
mov edi, esi
jg 0x100e8e49
mov eax, dword [esp + 0x14]
lea ebx, [eax + esi*8 + 0x5b8]
mov dword [esp + 0x18], ebx
mov edx, edi
lea ecx, [esp + 0x40]
sub edx, esi
push ecx
mov ecx, dword [esp + 0x3c]
push edx
call fcn.100b2f80
mov eax, dword [esp + 0x40]
cmp eax, 1
je 0x100e8cf6
cmp eax, 2
jne 0x100e8ce0
fld qword [esp + 0x48]
fmul qword [esp + 0x54]
mov eax, dword [esp + 0x18]
fst qword [ebx]
fcomp qword [eax]
fnstsw ax
test ah, 0x40
jne 0x100e8ce0
mov eax, dword [esp + 0x14]
and dword [eax + 0x20], 0xfffffffe
lea ecx, [esp + 0x40]
call fcn.100986a0
inc edi
add ebx, 8
cmp edi, ebp
jle 0x100e8ca0
jmp 0x100e8e49
fild dword [esp + 0x48]
jmp 0x100e8cc5
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x100e8d8e
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [ebx + 0x14]
push str.space
call fcn.100e3000
test eax, eax
je 0x100e8d40
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
and edx, 0xffff
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul qword [0x10193fa8]
fstp qword [eax + 0x6b8]
mov ecx, dword [esp + 0x14]
mov ebp, 0x100
lea esi, [ecx + 0xa8]
mov eax, dword [esi]
test eax, eax
je 0x100e8d80
mov ecx, dword [ebx + 0x14]
lea edx, [esp + 0x24]
push edx
push eax
call fcn.100e3000
test eax, eax
je 0x100e8d80
mov eax, dword [esp + 0x24]
and eax, 0xffff
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul qword [0x10193fa8]
fstp qword [edi]
add esi, 4
add edi, 8
dec ebp
jne 0x100e8d4f
jmp 0x100e8e49
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x20]
test cl, 1
je 0x100e8d9e
xor eax, eax
jmp 0x100e8daf
mov edx, ecx
and dl, 2
neg dl
sbb edx, edx
and edx, 4
add edx, 4
mov eax, edx
test ecx, 0x40000
je 0x100e8dba
add eax, 2
test cl, 0x40
je 0x100e8dc0
inc eax
mov ebx, dword [eax*4 + 0x101d5980]
lea eax, [esp + 0x24]
push eax
push str.space
mov ecx, dword [ebx + 0x14]
call fcn.100e3000
test eax, eax
je 0x100e8dff
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
and ecx, 0xffff
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fmul qword [0x10193fa8]
fstp qword [edx + 0x6b8]
mov eax, dword [esp + 0x14]
mov ebp, 0x100
lea esi, [eax + 0xa8]
mov eax, dword [esi]
test eax, eax
je 0x100e8e40
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [ebx + 0x14]
push eax
call fcn.100e3000
test eax, eax
je 0x100e8e40
mov edx, dword [esp + 0x24]
and edx, 0xffff
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul qword [0x10193fa8]
fstp qword [edi]
add esi, 4
add edi, 8
dec ebp
jne 0x100e8e0e
lea ecx, [esp + 0x30]
call fcn.100986a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x48c]
pop edi
pop esi
mov dword [eax + 0xa0], 1
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x488
ret 0x1c