Function at 0x417500
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4465e1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x258
mov eax, dword [esp + 0x278]
mov edx, dword [esp + 0x270]
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [esp + 0x280]
push edi
push eax
mov eax, dword [esp + 0x280]
push ecx
push edx
push eax
mov ecx, esi
mov dword [esp + 0x24], esi
call fcn.00416ba0
mov edx, dword [esp + 0x28c]
mov eax, 0xd
xor ecx, ecx
mov dword [esi + 0xdb8], eax
mov dword [esi], 0x449ba8
mov dword [esi + 0x24], edx
mov dword [esi + 0x5b0], ecx
mov dword [esi + 0xdc8], ecx
mov esi, dword [esi + 0x20]
mov dword [esp + 0x270], ecx
cmp esi, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x24], esi
je 0x417735
mov eax, esi
xor ebx, ebx
mov ebp, 0x2d
mov ecx, dword [eax + 4]
mov dword [esp + 0x18], ecx
lea eax, [ebx + ebp]
mov ecx, dword [esp + 0x18]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
mov esi, dword [edi*8 + 0x4617e8]
mov dl, byte [ecx]
mov al, dl
cmp dl, byte [esi]
jne 0x4175e0
test al, al
je 0x4175dc
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x4175e0
add ecx, 2
add esi, 2
test dl, dl
jne 0x4175bc
xor eax, eax
jmp 0x4175e5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jl 0x4175ed
mov ebx, edi
jmp 0x4175ef
mov ebp, edi
mov ecx, ebp
sub ecx, ebx
cmp ecx, 1
jg 0x4175a7
mov edx, dword [esp + 0x24]
mov esi, dword [ebx*8 + 0x4617e8]
mov eax, dword [edx + 4]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x41762a
test cl, cl
je 0x417626
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x41762a
add eax, 2
add esi, 2
test cl, cl
jne 0x417606
xor eax, eax
jmp 0x41762f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x417693
mov esi, dword [esp + 0x24]
test esi, esi
je 0x41764b
mov ecx, esi
call fcn.00423770
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
push 8
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x270], 1
je 0x417676
mov ecx, dword [ebx*8 + 0x4617ec]
push ecx
mov ecx, eax
call fcn.00423580
jmp 0x417678
xor eax, eax
mov ebp, dword [esp + 0x14]
mov byte [esp + 0x270], 0
mov dword [ebp + 0x20], eax
mov dword [ebp + 0xdc8], 1
jmp 0x417697
mov ebp, dword [esp + 0x14]
mov edx, 0x4617ec
mov eax, dword [ebp + 0xdc8]
test eax, eax
jne 0x417735
mov edi, dword [ebp + 0x20]
mov esi, dword [edx - 4]
mov eax, dword [edi + 4]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x4176d7
test cl, cl
je 0x4176d3
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x4176d7
add eax, 2
add esi, 2
test cl, cl
jne 0x4176b3
xor eax, eax
jmp 0x4176dc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4176ea
mov dword [ebp + 0xdc8], 1
mov esi, dword [edx]
mov eax, dword [edi + 4]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x417713
test cl, cl
je 0x41770f
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x417713
add eax, 2
add esi, 2
test cl, cl
jne 0x4176ef
xor eax, eax
jmp 0x417718
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x417726
mov dword [ebp + 0xdc8], 1
add edx, 8
cmp edx, 0x461954
jl 0x41769c
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], 0
mov eax, dword [edx + 0x20]
test eax, eax
je 0x417793
mov edx, dword [eax + 4]
xor ebp, ebp
mov edi, 0x45a9e8
mov esi, dword [edi]
mov eax, edx
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x41777a
test cl, cl
je 0x417776
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x41777a
add eax, 2
add esi, 2
test cl, cl
jne 0x417756
xor eax, eax
jmp 0x41777f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x417892
add edi, 0x18
inc ebp
cmp edi, 0x45ab38
jl 0x417752
mov ecx, dword [esp + 0x14]
mov eax, 0x66666666
mov ebx, ecx
mov dword [ecx + 0x98], eax
mov dword [ecx + 0xa0], eax
xor eax, eax
mov dword [ecx + 0x9c], 0x3fee6666
mov dword [ecx + 0x88], eax
mov dword [ecx + 0x80], eax
mov dword [ecx + 0x78], eax
mov dword [ecx + 0x70], eax
mov dword [ecx + 0xa4], 0xbfd66666
mov dword [ecx + 0x8c], eax
mov dword [ecx + 0x84], eax
mov dword [ecx + 0x7c], eax
mov dword [ecx + 0x74], eax
mov esi, dword [esp + 0x290]
mov eax, dword [esp + 0x278]
push esi
push eax
mov ecx, ebx
call fcn.00416cc0
mov ecx, ebx
call fcn.00417310
lea edi, [ebx + 0x40]
lea ecx, [esp + 0x2c]
xor ebp, ebp
mov eax, 0x3ff00000
push ecx
mov dword [ebx + 0x58], ebp
mov dword [edi], ebp
mov dword [ebx + 0x68], ebp
mov dword [ebx + 0x60], ebp
mov dword [ebx + 0x50], ebp
mov dword [ebx + 0x48], ebp
push str.FontMatrix
mov ecx, esi
mov dword [ebx + 0x5c], eax
mov dword [edi + 4], eax
mov dword [ebx + 0x6c], ebp
mov dword [ebx + 0x64], ebp
mov dword [ebx + 0x54], ebp
mov dword [ebx + 0x4c], ebp
call fcn.00409ad0
mov esi, dword [eax]
xor edx, edx
cmp esi, 6
sete dl
mov eax, edx
cmp eax, ebp
je 0x417958
xor esi, esi
mov ecx, dword [esp + 0x34]
cmp esi, dword [ecx + 0xc]
jge 0x417958
lea eax, [esp + 0x40]
push eax
push esi
call fcn.00401420
mov eax, dword [eax]
cmp eax, 1
je 0x41787e
cmp eax, 2
jne 0x417942
cmp dword [esp + 0x40], 1
jne 0x41793c
fild dword [esp + 0x48]
jmp 0x417940
lea eax, [ebp + ebp*2]
lea eax, [eax*8 + 0x45a9e8]
test eax, eax
mov dword [esp + 0x24], eax
je 0x417793
movsx ecx, word [eax + 8]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fmul qword [0x449ba0]
fstp qword [ebx + 0x98]
movsx edx, word [eax + 0xa]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul qword [0x449ba0]
fstp qword [ebx + 0xa0]
movsx ecx, word [eax + 0xc]
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fmul qword [0x449ba0]
fstp qword [ebx + 0x70]
movsx edx, word [eax + 0xe]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul qword [0x449ba0]
fstp qword [ebx + 0x78]
movsx ecx, word [eax + 0x10]
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fmul qword [0x449ba0]
fstp qword [ebx + 0x80]
movsx edx, word [eax + 0x12]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul qword [0x449ba0]
fstp qword [ebx + 0x88]
jmp 0x4177e4
fld qword [esp + 0x48]
fstp qword [edi]
lea ecx, [esp + 0x40]
call fcn.0042a5e0
inc esi
add edi, 8
cmp esi, 6
jl 0x417856
lea ecx, [esp + 0x2c]
call fcn.0042a5e0
cmp dword [ebx + 0x24], 3
jne 0x41799a
mov ecx, dword [esp + 0x290]
lea esi, [ebx + 0xdb8]
push esi
push str.CharProcs
call fcn.00409ad0
cmp dword [esi], 7
je 0x41799a
push str.Missing_or_invalid_CharProcs_dictionary_in_Type_3_font
push 0xffffffffffffffff
call fcn.0042a9c0
add esp, 8
mov ecx, esi
call fcn.0042a5e0
lea ecx, [esp + 0x2c]
mov dword [ebx + 0x5b4], ebp
push ecx
mov ecx, dword [esp + 0x294]
push str.Encoding
mov dword [esp + 0x18], ebp
mov dword [esp + 0x28], ebp
call fcn.00409ad0
mov eax, dword [esp + 0x2c]
mov edi, 0x45c458
cmp eax, 7
jne 0x417b3e
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x40]
push edx
push str.BaseEncoding
call fcn.00409ad0
cmp dword [esp + 0x40], 4
jne 0x417b30
mov ebp, dword [esp + 0x48]
mov esi, str.MacRomanEncoding
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417a1d
test dl, dl
je 0x417a19
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417a1d
add ecx, 2
add esi, 2
test dl, dl
jne 0x4179f9
xor ecx, ecx
jmp 0x417a22
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x417a42
lea ecx, [esp + 0x40]
mov dword [ebx + 0x5b4], 1
mov dword [esp + 0x10], edi
call fcn.0042a5e0
jmp 0x417c6f
mov esi, str.MacExpertEncoding
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417a6d
test dl, dl
je 0x417a69
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417a6d
add ecx, 2
add esi, 2
test dl, dl
jne 0x417a49
xor ecx, ecx
jmp 0x417a72
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x417a96
lea ecx, [esp + 0x40]
mov dword [ebx + 0x5b4], 1
mov dword [esp + 0x10], 0x45c858
call fcn.0042a5e0
jmp 0x417c6f
mov esi, str.WinAnsiEncoding
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417ac1
test dl, dl
je 0x417abd
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417ac1
add ecx, 2
add esi, 2
test dl, dl
jne 0x417a9d
xor ecx, ecx
jmp 0x417ac6
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x417aea
lea ecx, [esp + 0x40]
mov dword [ebx + 0x5b4], 1
mov dword [esp + 0x10], 0x45cc58
call fcn.0042a5e0
jmp 0x417c6f
mov esi, str.StandardEncoding
mov eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x417b15
test cl, cl
je 0x417b11
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x417b15
add eax, 2
add esi, 2
test cl, cl
jne 0x417af1
xor eax, eax
jmp 0x417b1a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x417b30
mov dword [ebx + 0x5b4], 1
mov dword [esp + 0x10], 0x45d058
lea ecx, [esp + 0x40]
call fcn.0042a5e0
jmp 0x417c6f
cmp eax, 4
jne 0x417c6f
mov eax, dword [esp + 0x34]
mov esi, str.MacRomanEncoding
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x417b74
test cl, cl
je 0x417b70
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x417b74
add eax, 2
add esi, 2
test cl, cl
jne 0x417b50
xor eax, eax
jmp 0x417b79
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x417b90
mov dword [ebx + 0x5b4], 1
mov dword [esp + 0x10], edi
jmp 0x417c6f
mov eax, dword [esp + 0x34]
mov esi, str.MacExpertEncoding
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x417bbd
test cl, cl
je 0x417bb9
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x417bbd
add eax, 2
add esi, 2
test cl, cl
jne 0x417b99
xor eax, eax
jmp 0x417bc2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x417bdd
mov dword [ebx + 0x5b4], 1
mov dword [esp + 0x10], 0x45c858
jmp 0x417c6f
mov eax, dword [esp + 0x34]
mov esi, str.WinAnsiEncoding
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x417c0a
test cl, cl
je 0x417c06
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x417c0a
add eax, 2
add esi, 2
test cl, cl
jne 0x417be6
xor eax, eax
jmp 0x417c0f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x417c27
mov dword [ebx + 0x5b4], 1
mov dword [esp + 0x10], 0x45cc58
jmp 0x417c6f
mov eax, dword [esp + 0x34]
mov esi, str.StandardEncoding
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x417c54
test cl, cl
je 0x417c50
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x417c54
add eax, 2
add esi, 2
test cl, cl
jne 0x417c30
xor eax, eax
jmp 0x417c59
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x417c6f
mov dword [ebx + 0x5b4], 1
mov dword [esp + 0x10], 0x45d058
mov edi, dword [esp + 0x14]
xor ebx, ebx
mov eax, dword [edi + 0x24]
cmp eax, 1
je 0x417c8b
cmp eax, 2
je 0x417c8b
cmp eax, 4
jne 0x417de1
mov eax, dword [edi + 0x38]
test eax, eax
jne 0x417ca1
mov ecx, dword [edi + 0x30]
test ecx, ecx
jl 0x417de1
test eax, eax
je 0x417caf
lea eax, [esp + 0x50]
mov ecx, edi
push eax
call fcn.00417360
jmp 0x417cc3
mov edx, dword [esp + 0x278]
lea ecx, [esp + 0x50]
push ecx
push edx
mov ecx, edi
call fcn.00417410
mov ebp, eax
test ebp, ebp
je 0x417de1
mov eax, dword [edi + 0x24]
cmp eax, 1
jne 0x417cfe
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x270], 2
je 0x417d55
mov ecx, dword [esp + 0x50]
push ecx
push ebp
mov ecx, eax
call fcn.00409c90
jmp 0x417d57
cmp eax, 2
jne 0x417d2c
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x270], 3
je 0x417d55
mov edx, dword [esp + 0x50]
mov ecx, eax
push edx
push ebp
call fcn.0040a050
jmp 0x417d57
push 0x30
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov byte [esp + 0x270], 4
je 0x417d55
mov ecx, dword [esp + 0x50]
push ecx
push ebp
mov ecx, eax
call fcn.0040a900
jmp 0x417d57
xor eax, eax
mov ebx, eax
mov byte [esp + 0x270], 0
mov ecx, ebx
mov edx, dword [ebx]
call dword [edx + 4]
test eax, eax
je 0x417dbd
mov esi, dword [edi + 0x2c]
test esi, esi
je 0x417d83
mov ecx, esi
call fcn.00423770
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
push 8
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov byte [esp + 0x270], 5
je 0x417db0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
push eax
mov ecx, esi
call fcn.00423580
jmp 0x417db2
xor eax, eax
mov byte [esp + 0x270], 0
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x417dd8
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], 1
push ebp
call fcn.004228e0
add esp, 4
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x417e12
mov eax, dword [esp + 0x24]
test eax, eax
je 0x417dfa
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
jmp 0x417e12
mov eax, dword [edi + 0x24]
mov dword [esp + 0x10], 0x45c458
cmp eax, 4
je 0x417e12
mov dword [esp + 0x10], 0x45d058
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
xor ebp, ebp
lea esi, [ecx + 0xb0]
mov edx, dword [edi]
mov al, byte [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov dword [esi], edx
test al, al
mov byte [ecx + ebp + 0x4b0], al
je 0x417e4b
cmp dword [esi], 0
je 0x417e4b
mov edx, dword [edi]
push edx
call fcn.00422900
add esp, 4
mov dword [esi], eax
inc ebp
add edi, 4
add esi, 4
cmp ebp, 0x100
jl 0x417e22
cmp dword [esp + 0x2c], 7
jne 0x417f45
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x40]
push eax
push str.Differences
call fcn.00409ad0
cmp dword [esp + 0x40], 6
jne 0x417f36
mov ecx, dword [esp + 0x48]
mov ebp, dword [esp + 0x14]
xor esi, esi
xor edi, edi
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x417f3a
lea edx, [esp + 0x58]
push edx
push edi
call fcn.00401420
mov eax, dword [esp + 0x58]
cmp eax, 1
jne 0x417eb4
mov esi, dword [esp + 0x60]
jmp 0x417f14
cmp eax, 4
jne 0x417efb
cmp esi, 0x100
jge 0x417ef8
mov al, byte [esi + ebp + 0x4b0]
test al, al
je 0x417edc
mov eax, dword [ebp + esi*4 + 0xb0]
push eax
call fcn.004228e0
add esp, 4
mov ecx, dword [esp + 0x60]
push ecx
call fcn.00422900
mov dword [ebp + esi*4 + 0xb0], eax
add esp, 4
mov byte [esi + ebp + 0x4b0], 1
inc esi
jmp 0x417f14
lea ecx, [esp + 0x58]
call fcn.0042a6d0
push eax
push str.Wrong_type_in_font_encoding_resource_differences___s_
push 0xffffffffffffffff
call fcn.0042a9c0
add esp, 0xc
lea ecx, [esp + 0x58]
call fcn.0042a5e0
mov ecx, dword [esp + 0x48]
inc edi
cmp edi, dword [ecx + 0xc]
jl 0x417e9a
lea ecx, [esp + 0x40]
call fcn.0042a5e0
jmp 0x417f49
mov ebp, dword [esp + 0x14]
lea ecx, [esp + 0x40]
call fcn.0042a5e0
jmp 0x417f49
mov ebp, dword [esp + 0x14]
lea ecx, [esp + 0x2c]
call fcn.0042a5e0
xor edi, edi
cmp ebx, edi
je 0x417f60
mov edx, dword [ebx]
push 1
mov ecx, ebx
call dword [edx]
mov ebx, dword [esp + 0x290]
push 8
push ebx
mov ecx, ebp
call fcn.00417210
cmp eax, edi
mov dword [ebp + 0x5b0], eax
jne 0x4182f8
lea eax, [ebp + 0xb0]
mov dword [esp + 0x54], edi
lea ebx, [esp + 0x68]
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], pe_nt_image_headers32
mov eax, dword [esp + 0x10]
mov ebp, dword [eax]
test ebp, ebp
je 0x4180cc
mov ecx, dword [0x46b694]
push ebp
call fcn.00422180
test ax, ax
mov word [ebx], ax
jne 0x4180d1
mov esi, str..notdef
mov eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x417fea
test cl, cl
je 0x417fe6
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x417fea
add eax, 2
add esi, 2
test cl, cl
jne 0x417fc6
xor eax, eax
jmp 0x417fef
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4180d1
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 3
jne 0x418064
movsx eax, byte [ebp]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
je 0x418064
movsx ecx, byte [ebp + 1]
mov esi, dword [sym.imp.MSVCRT.dll_isxdigit]
push ecx
call esi
add esp, 4
test eax, eax
je 0x41806a
movsx edx, byte [ebp + 2]
push edx
call esi
add esp, 4
test eax, eax
je 0x41806a
mov al, byte [ebp + 1]
cmp al, 0x61
jl 0x418047
cmp al, 0x66
jle 0x4180bd
cmp al, 0x41
jl 0x41804f
cmp al, 0x46
jle 0x4180bd
mov al, byte [ebp + 2]
cmp al, 0x61
jl 0x41805a
cmp al, 0x66
jle 0x4180bd
cmp al, 0x41
jl 0x41806a
cmp al, 0x46
jle 0x4180bd
jmp 0x41806a
mov esi, dword [sym.imp.MSVCRT.dll_isxdigit]
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jne 0x4180c5
movsx eax, byte [ebp]
push eax
call esi
add esp, 4
test eax, eax
je 0x4180c5
movsx ecx, byte [ebp + 1]
push ecx
call esi
add esp, 4
test eax, eax
je 0x4180c5
mov al, byte [ebp]
cmp al, 0x61
jl 0x4180a2
cmp al, 0x66
jle 0x4180bd
cmp al, 0x41
jl 0x4180aa
cmp al, 0x46
jle 0x4180bd
mov al, byte [ebp + 1]
cmp al, 0x61
jl 0x4180b5
cmp al, 0x66
jle 0x4180bd
cmp al, 0x41
jl 0x4180c5
cmp al, 0x46
jg 0x4180c5
mov dword [esp + 0x54], 1
mov edi, 1
jmp 0x4180d1
mov word [ebx], 0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
add edx, 4
add ebx, 2
dec eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], eax
jne 0x417f99
test edi, edi
je 0x4182d8
mov edx, dword [0x46b694]
mov eax, dword [edx + 0x60]
test eax, eax
je 0x4182d8
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x68]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], pe_nt_image_headers32
lea eax, [ecx + 0xb0]
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x20]
mov ebp, dword [edx]
test ebp, ebp
je 0x4182b3
mov eax, dword [esp + 0x10]
cmp word [eax], 0
jne 0x4182b3
mov esi, str..notdef
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x418170
test cl, cl
je 0x41816c
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x418170
add eax, 2
add esi, 2
test cl, cl
jne 0x418148
xor eax, eax
jmp 0x418175
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4182b3
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x3c], 0xffffffff
not ecx
dec ecx
test eax, eax
mov esi, ecx
je 0x418231
cmp esi, 3
jne 0x4181f4
movsx eax, byte [ebp]
push eax
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
je 0x4181f4
movsx ecx, byte [ebp + 1]
mov ebx, dword [sym.imp.MSVCRT.dll_isxdigit]
lea edi, [ebp + 1]
push ecx
call ebx
add esp, 4
test eax, eax
je 0x4181fa
movsx edx, byte [ebp + 2]
push edx
call ebx
add esp, 4
test eax, eax
je 0x4181fa
lea eax, [esp + 0x3c]
push eax
push 0x45c1a4
push edi
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
jmp 0x41829d
mov ebx, dword [sym.imp.MSVCRT.dll_isxdigit]
cmp esi, 2
jne 0x418260
movsx ecx, byte [ebp]
push ecx
call ebx
add esp, 4
test eax, eax
je 0x418260
movsx edx, byte [ebp + 1]
push edx
call ebx
add esp, 4
test eax, eax
je 0x418260
lea eax, [esp + 0x3c]
push eax
push 0x45c1a4
push ebp
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
jmp 0x41829d
cmp esi, 2
jl 0x418260
cmp esi, 4
jg 0x418260
movsx ecx, byte [ebp]
mov edi, dword [sym.imp.MSVCRT.dll_isdigit]
push ecx
call edi
add esp, 4
test eax, eax
je 0x418260
movsx edx, byte [ebp + 1]
push edx
call edi
add esp, 4
test eax, eax
je 0x418260
push ebp
jmp 0x418290
cmp esi, 3
jl 0x41829d
cmp esi, 5
jg 0x41829d
movsx eax, byte [ebp + 1]
mov edi, dword [sym.imp.MSVCRT.dll_isdigit]
lea esi, [ebp + 1]
push eax
call edi
add esp, 4
test eax, eax
je 0x41829d
movsx ecx, byte [ebp + 2]
push ecx
call edi
add esp, 4
test eax, eax
je 0x41829d
push esi
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
test eax, eax
jl 0x4182b3
cmp eax, 0xff
jg 0x4182b3
mov edx, dword [esp + 0x10]
mov word [edx], ax
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 4
add ecx, 2
dec eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
jne 0x418125
lea eax, [esp + 0x68]
push eax
call fcn.00406c60
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x294]
add esp, 4
mov ebp, ecx
mov dword [ecx + 0x5b0], eax
lea edi, [ebp + 0x5b8]
mov ecx, pe_nt_image_headers32
mov eax, edi
fld qword [ebp + 0x90]
fmul qword [0x449ba0]
add eax, 8
dec ecx
fstp qword [eax - 8]
jne 0x418305
lea edx, [esp + 0x2c]
mov ecx, ebx
push edx
push str.FirstChar
call fcn.00409ad0
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x34]
dec esi
lea ecx, [esp + 0x2c]
neg esi
sbb esi, esi
not esi
and esi, ebp
call fcn.0042a5e0
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
push str.LastChar
call fcn.00409ad0
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
cmp eax, 1
je 0x418368
mov ebx, 0xff
lea ecx, [esp + 0x2c]
call fcn.0042a5e0
mov ebp, dword [esp + 0x14]
cmp dword [ebp + 0x24], 3
jne 0x41838b
mov ecx, dword [ebp + 0x40]
mov edx, dword [ebp + 0x44]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
jmp 0x41839b
mov dword [esp + 0x18], 0xd2f1a9fc
mov dword [esp + 0x1c], 0x3f50624d
mov ecx, dword [esp + 0x290]
lea eax, [esp + 0x2c]
push eax
push str.Widths
call fcn.00409ad0
cmp dword [esp + 0x2c], 6
jne 0x418415
cmp esi, ebx
mov edi, esi
jg 0x418558
mov ecx, dword [esp + 0x14]
lea ebp, [ecx + esi*8 + 0x5b8]
mov ecx, dword [esp + 0x34]
mov eax, edi
lea edx, [esp + 0x40]
sub eax, esi
push edx
push eax
call fcn.00401420
mov eax, dword [esp + 0x40]
cmp eax, 1
je 0x41840f
cmp eax, 2
jne 0x4183f9
fld qword [esp + 0x48]
fmul qword [esp + 0x18]
fstp qword [ebp]
lea ecx, [esp + 0x40]
call fcn.0042a5e0
inc edi
add ebp, 8
cmp edi, ebx
jle 0x4183cd
jmp 0x418558
fild dword [esp + 0x48]
jmp 0x4183f2
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4184a8
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [eax + 0x14]
push str.space
call fcn.00405550
test eax, eax
je 0x418455
mov edx, dword [esp + 0x28]
and edx, 0xffff
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul qword [0x449ba0]
fstp qword [ebp + 0x6b8]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
mov ebp, pe_nt_image_headers32
lea esi, [eax + 0xb0]
mov eax, dword [esi]
test eax, eax
je 0x41849a
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [ebx + 0x14]
push eax
call fcn.00405550
test eax, eax
je 0x41849a
mov edx, dword [esp + 0x28]
and edx, 0xffff
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul qword [0x449ba0]
fstp qword [edi]
add esi, 4
add edi, 8
dec ebp
jne 0x418468
jmp 0x418558
mov ecx, dword [ebp + 0x28]
test cl, 1
je 0x4184b4
xor eax, eax
jmp 0x4184c2
mov eax, ecx
and al, 2
neg al
sbb eax, eax
and eax, 4
add eax, 4
test ecx, 0x40000
je 0x4184cd
add eax, 2
test cl, 0x40
je 0x4184d3
inc eax
mov ebx, dword [eax*4 + 0x45ab38]
lea ecx, [esp + 0x28]
push ecx
push str.space
mov ecx, dword [ebx + 0x14]
call fcn.00405550
test eax, eax
je 0x41850e
mov edx, dword [esp + 0x28]
and edx, 0xffff
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul qword [0x449ba0]
fstp qword [ebp + 0x6b8]
mov eax, dword [esp + 0x14]
mov ebp, pe_nt_image_headers32
lea esi, [eax + 0xb0]
mov eax, dword [esi]
test eax, eax
je 0x41854f
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [ebx + 0x14]
push eax
call fcn.00405550
test eax, eax
je 0x41854f
mov edx, dword [esp + 0x28]
and edx, 0xffff
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmul qword [0x449ba0]
fstp qword [edi]
add esi, 4
add edi, 8
dec ebp
jne 0x41851d
lea ecx, [esp + 0x2c]
call fcn.0042a5e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x268]
pop edi
pop esi
mov dword [eax + 0xa8], 1
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x264
ret 0x1c