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

Disassembly:
sub esp, 0x564
push ebx
push ebp
push esi
mov esi, dword [esp + 0x574]
xor ebx, ebx
xor ebp, ebp
or ecx, 0xffffffff
cmp esi, ebx
push edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebx
jne 0x40575d
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x564
ret
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x18], esi
je 0x40677c
mov eax, dword [esp + 0x58c]
mov edi, 1
test eax, eax
je 0x405789
cmp byte [esi], 0x2c
je 0x406641
cmp dword [0x4b239c], edi
jle 0x4057a1
movsx eax, byte [esi]
push 4
push eax
call fcn.004924a3
add esp, 8
jmp 0x4057b0
movsx ecx, byte [esi]
mov edx, dword [str.________________________________H]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
jne 0x405860
cmp byte [esi], 0x2d
jne 0x4057ea
cmp dword [0x4b239c], edi
jle 0x4057d6
movsx eax, byte [esi + 1]
push 4
push eax
call fcn.004924a3
add esp, 8
jmp 0x4057e6
movsx ecx, byte [esi + 1]
mov edx, dword [str.________________________________H]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
jne 0x405860
cmp byte [esi], 0x2e
jne 0x40581c
cmp dword [0x4b239c], edi
jle 0x405808
movsx eax, byte [esi + 1]
push 4
push eax
call fcn.004924a3
add esp, 8
jmp 0x405818
movsx ecx, byte [esi + 1]
mov edx, dword [str.________________________________H]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
jne 0x405860
cmp byte [esi], 0x2d
jne 0x405901
cmp byte [esi + 1], 0x2e
jne 0x405901
cmp dword [0x4b239c], edi
jle 0x405848
movsx eax, byte [esi + 2]
push 4
push eax
call fcn.004924a3
add esp, 8
jmp 0x405858
movsx ecx, byte [esi + 2]
mov edx, dword [str.________________________________H]
mov al, byte [edx + ecx*2]
and eax, 4
test eax, eax
je 0x405901
mov eax, dword [esp + 0x20]
cmp eax, edi
je 0x405901
cmp eax, 4
je 0x405901
cmp eax, 6
je 0x405901
mov eax, dword [esp + 0x588]
mov dword [esp + 0x20], edi
cmp ebx, eax
jge 0x40677c
lea eax, [esp + 0x28]
push 0xa
push eax
push esi
call fcn.004925c2
mov ecx, dword [esp + 0x34]
add esp, 0xc
cmp byte [ecx], 0x2e
je 0x4058d1
mov cx, word [esi]
mov edx, 0x4a19cc
cmp cx, word [edx]
je 0x4058d1
mov esi, dword [esp + 0x28]
mov dword [esp + ebx*4 + 0x174], eax
mov byte [esp + ebx + 0x74], 0
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x4065e0
lea edx, [esp + 0x28]
push edx
push esi
call fcn.00492518
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
add esp, 8
mov dword [esp + ebx*4 + 0x174], eax
mov byte [esp + ebx + 0x74], 1
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x4065e0
push esi
call fcn.00406b90
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x405d9a
mov al, byte [esi]
cmp al, 0x28
je 0x405d9a
cmp al, 0x5b
je 0x405d9a
cmp al, 0x29
je 0x405d9a
cmp al, 0x5d
je 0x405d9a
mov ecx, dword [esp + 0x20]
cmp ebx, 0x18
jne 0x405956
test ecx, ecx
je 0x405951
cmp ecx, 5
je 0x405951
cmp ecx, 2
jne 0x405a6e
mov ebx, 0x13
cmp ecx, 2
jne 0x405971
movsx eax, bl
cmp eax, 0xd
je 0x405971
cmp eax, 0x7e
je 0x405971
cmp eax, 0x13
jne 0x40677c
cmp ebx, 0x14
jne 0x405a6e
cmp ecx, 4
jne 0x40677c
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + ecx*4 + 0x170]
mov eax, dword [esi]
cmp eax, 0x158
je 0x4059a2
cmp eax, 0x157
jne 0x40677c
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x40677c
cmp eax, 0x158
jne 0x4059b9
mov ebx, 0x15
movsx eax, bl
dec eax
cmp eax, 0x1c
ja case.default.0x4059ca
xor edx, edx
mov dl, byte [eax + 0x40683c]
jmp dword [edx*4 + 0x406800]
mov eax, 1
jmp 0x405a3c
mov eax, 2
jmp 0x405a3c
mov eax, 3
jmp 0x405a3c
mov eax, 4
jmp 0x405a3c
mov eax, 5
jmp 0x405a3c
mov eax, 6
jmp 0x405a3c
mov eax, 7
jmp 0x405a3c
mov eax, 8
jmp 0x405a3c
mov eax, 9
jmp 0x405a3c
mov eax, 0xa
jmp 0x405a3c
mov eax, 0xb
jmp 0x405a3c
mov eax, 0xc
jmp 0x405a3c
mov eax, 0xd
jmp 0x405a3c
mov eax, 0xe
jmp 0x405a3c
mov eax, 0xf
jmp 0x405a3c
xor eax, eax
cmp eax, ebp
jge 0x405a58
mov eax, dword [esp + 0x1c]
mov al, byte [esp + eax + 0x34]
cmp al, 0x1c
je 0x405a58
cmp al, 0x14
je 0x405a58
cmp al, 0x15
jne 0x40677c
push esi
call fcn.0047d4c0
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
add esp, 4
dec eax
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], 2
lea edi, [esp + ecx*4 + 0x174]
mov ecx, dword [esp + 0x1c]
cmp ebx, 0x14
je 0x405b46
cmp ebx, 0xd
je 0x405b46
cmp ebx, 0x7e
je 0x405b33
cmp ebx, 0x13
je 0x405b33
lea eax, [ebx - 1]
cmp eax, 0x1c
ja case.default.0x405ab9
xor edx, edx
mov dl, byte [eax + 0x406898]
jmp dword [edx*4 + 0x40685c]
mov eax, 1
jmp 0x405b2b
mov eax, 2
jmp 0x405b2b
mov eax, 3
jmp 0x405b2b
mov eax, 4
jmp 0x405b2b
mov eax, 5
jmp 0x405b2b
mov eax, 6
jmp 0x405b2b
mov eax, 7
jmp 0x405b2b
mov eax, 8
jmp 0x405b2b
mov eax, 9
jmp 0x405b2b
mov eax, 0xa
jmp 0x405b2b
mov eax, 0xb
jmp 0x405b2b
mov eax, 0xc
jmp 0x405b2b
mov eax, 0xd
jmp 0x405b2b
mov eax, 0xe
jmp 0x405b2b
mov eax, 0xf
jmp 0x405b2b
xor eax, eax
cmp eax, ebp
jle 0x405bd0
cmp ebx, 0xd
je 0x405b46
cmp ebx, 0x7e
je 0x405b46
cmp ebx, 0x13
jne 0x405cb6
lea eax, [ebx - 1]
cmp eax, 0x1c
ja case.default.0x405b56
xor edx, edx
mov dl, byte [eax + 0x4068f4]
jmp dword [edx*4 + 0x4068b8]
mov eax, 1
jmp 0x405bc8
mov eax, 2
jmp 0x405bc8
mov eax, 3
jmp 0x405bc8
mov eax, 4
jmp 0x405bc8
mov eax, 5
jmp 0x405bc8
mov eax, 6
jmp 0x405bc8
mov eax, 7
jmp 0x405bc8
mov eax, 8
jmp 0x405bc8
mov eax, 9
jmp 0x405bc8
mov eax, 0xa
jmp 0x405bc8
mov eax, 0xb
jmp 0x405bc8
mov eax, 0xc
jmp 0x405bc8
mov eax, 0xd
jmp 0x405bc8
mov eax, 0xe
jmp 0x405bc8
mov eax, 0xf
jmp 0x405bc8
xor eax, eax
cmp eax, ebp
jge 0x405cb6
cmp ecx, 0xffffffff
je 0x405cb6
movsx eax, byte [esp + ecx + 0x34]
mov dword [edi], eax
mov eax, dword [esp + 0x14]
dec ecx
add edi, 4
mov byte [esp + eax + 0x74], 2
inc eax
cmp ecx, 0xffffffff
mov dword [esp + 0x14], eax
jle case.default.0x405c12
movsx eax, byte [esp + ecx + 0x34]
dec eax
cmp eax, 0x1c
ja case.default.0x405c12
xor edx, edx
mov dl, byte [eax + 0x406950]
jmp dword [edx*4 + 0x406914]
mov ebp, 1
jmp 0x405a85
mov ebp, 2
jmp 0x405a85
mov ebp, 3
jmp 0x405a85
mov ebp, 4
jmp 0x405a85
mov ebp, 5
jmp 0x405a85
mov ebp, 6
jmp 0x405a85
mov ebp, 7
jmp 0x405a85
mov ebp, 8
jmp 0x405a85
mov ebp, 9
jmp 0x405a85
mov ebp, 0xa
jmp 0x405a85
mov ebp, 0xb
jmp 0x405a85
mov ebp, 0xc
jmp 0x405a85
mov ebp, 0xd
jmp 0x405a85
mov ebp, 0xe
jmp 0x405a85
mov ebp, 0xf
jmp 0x405a85
xor ebp, ebp
jmp 0x405a85
inc ecx
cmp ecx, 0x40
mov dword [esp + 0x1c], ecx
jl 0x405cdb
push str.Parser_stack_overflow_error
push 0x4b6c60
call fcn.00492257
add esp, 8
call fcn.00415860
mov ecx, dword [esp + 0x1c]
lea eax, [ebx - 1]
mov byte [esp + ecx + 0x34], bl
cmp eax, 0x1c
ja case.default.0x405cef
xor ecx, ecx
mov cl, byte [eax + 0x4069ac]
jmp dword [ecx*4 + 0x406970]
mov ebp, 1
jmp 0x405d61
mov ebp, 2
jmp 0x405d61
mov ebp, 3
jmp 0x405d61
mov ebp, 4
jmp 0x405d61
mov ebp, 5
jmp 0x405d61
mov ebp, 6
jmp 0x405d61
mov ebp, 7
jmp 0x405d61
mov ebp, 8
jmp 0x405d61
mov ebp, 9
jmp 0x405d61
mov ebp, 0xa
jmp 0x405d61
mov ebp, 0xb
jmp 0x405d61
mov ebp, 0xc
jmp 0x405d61
mov ebp, 0xd
jmp 0x405d61
mov ebp, 0xe
jmp 0x405d61
mov ebp, 0xf
jmp 0x405d61
xor ebp, ebp
cmp eax, 0x1c
mov dword [esp + 0x10], ebp
ja case.0x405d72.2
xor edx, edx
mov dl, byte [eax + 0x4069d8]
jmp dword [edx*4 + 0x4069cc]
mov eax, 1
add esi, eax
jmp 0x4065e0
mov eax, 2
add esi, eax
jmp 0x4065e0
xor eax, eax
add esi, eax
jmp 0x4065e0
mov bl, byte [esi]
cmp bl, 0x5b
jne 0x406122
cmp dword [esp + 0x20], 2
jne 0x40677c
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x40677c
movsx eax, byte [esp + eax + 0x34]
cmp eax, 1
je 0x405dd0
cmp eax, 2
jne 0x40677c
mov ebp, dword [esp + 0x588]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x584]
mov ecx, ebp
lea eax, [esp + 0x2c]
push 0
sub ecx, ebx
push eax
push ecx
lea eax, [esp + 0x100]
push edx
lea ecx, [esp + 0x384]
push eax
inc esi
push ecx
push esi
mov dword [esp + 0x3c], 3
call fcn.00405720
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x40677c
mov eax, dword [esp + 0x2c]
cmp byte [eax], 0x2c
jne 0x40677c
mov ecx, dword [esp + 0x584]
sub ebp, edi
lea edx, [esp + 0x2c]
push 0
sub ebp, ebx
push edx
push ebp
push ecx
lea edx, [esp + edi + 0x104]
lea ecx, [esp + edi*4 + 0x384]
inc eax
push edx
push ecx
push eax
call fcn.00405720
mov ebx, eax
add esp, 0x1c
test ebx, ebx
mov dword [esp + 0x30], ebx
je 0x40677c
mov esi, dword [esp + 0x2c]
mov al, byte [esi]
cmp al, 0x29
je 0x405e76
cmp al, 0x5d
jne 0x40677c
inc esi
mov ebp, 1
cmp dword [0x4b239c], ebp
jle 0x405e94
movsx edx, byte [esi]
push 8
push edx
call fcn.004924a3
add esp, 8
jmp 0x405ea3
movsx eax, byte [esi]
mov ecx, dword [str.________________________________H]
mov al, byte [ecx + eax*2]
and eax, 8
test eax, eax
je 0x405eaf
cmp byte [esi], 0
je 0x405eaf
inc esi
jmp 0x405e7c
mov al, byte [esi]
cmp al, 0x29
je 0x405ebd
test al, al
jne 0x40677c
mov eax, dword [esp + 0x2c]
xor edx, edx
mov cl, byte [eax]
cmp cl, 0x29
mov ecx, dword [esp + 0x14]
setne dl
add edx, 9
lea ecx, [esp + ecx*4 + 0x174]
mov ebp, edx
mov edx, dword [esp + 0x10]
lea esi, [ebp - 1]
cmp esi, 0x1c
ja case.default.0x405eef
xor eax, eax
mov al, byte [esi + 0x406a34]
jmp dword [eax*4 + 0x4069f8]
mov eax, 1
jmp 0x405f61
mov eax, 2
jmp 0x405f61
mov eax, 3
jmp 0x405f61
mov eax, 4
jmp 0x405f61
mov eax, 5
jmp 0x405f61
mov eax, 6
jmp 0x405f61
mov eax, 7
jmp 0x405f61
mov eax, 8
jmp 0x405f61
mov eax, 9
jmp 0x405f61
mov eax, 0xa
jmp 0x405f61
mov eax, 0xb
jmp 0x405f61
mov eax, 0xc
jmp 0x405f61
mov eax, 0xd
jmp 0x405f61
mov eax, 0xe
jmp 0x405f61
mov eax, 0xf
jmp 0x405f61
xor eax, eax
cmp eax, edx
jg 0x4060b4
mov edx, dword [esp + 0x1c]
cmp edx, 0xffffffff
je 0x4060ac
movsx eax, byte [esp + edx + 0x34]
dec edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x588]
cmp dword [esp + 0x14], edx
jge 0x40677c
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
add ecx, 4
mov byte [esp + eax + 0x74], 2
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
jle case.default.0x405fc8
movsx eax, byte [esp + eax + 0x34]
dec eax
cmp eax, 0x1c
ja case.default.0x405fc8
xor edx, edx
mov dl, byte [eax + 0x406a90]
jmp dword [edx*4 + 0x406a54]
mov edx, 1
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov edx, 2
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov edx, 3
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov edx, 4
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov edx, 5
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov edx, 6
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov edx, 7
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov edx, 8
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov edx, 9
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov edx, 0xa
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov edx, 0xb
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov edx, 0xc
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov edx, 0xd
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov edx, 0xe
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov edx, 0xf
mov dword [esp + 0x10], edx
jmp 0x405ee2
xor edx, edx
mov dword [esp + 0x10], edx
jmp 0x405ee2
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x14]
lea eax, [edi + ebx]
mov ecx, eax
lea esi, [esp + 0x374]
lea edi, [esp + edx*4 + 0x174]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea esi, [esp + 0xf4]
mov ebx, ecx
lea edi, [esp + edx + 0x74]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
add edx, eax
mov eax, dword [esp + 0x588]
and ecx, 3
cmp edx, eax
mov dword [esp + 0x14], edx
rep movsb byte es:[edi], byte [esi]
jge 0x40677c
mov eax, dword [esp + 0x2c]
mov dword [esp + edx*4 + 0x174], ebp
mov ebp, dword [esp + 0x10]
mov byte [esp + edx + 0x74], 2
inc edx
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov esi, eax
jmp 0x4065e4
cmp bl, 0x28
jne 0x406510
push esi
call fcn.00406b90
mov eax, dword [esp + 0x24]
add esp, 4
cmp eax, 1
je 0x40677c
mov edi, dword [esp + 0x588]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x584]
mov edx, edi
lea ecx, [esp + 0x24]
push 0
sub edx, esi
push ecx
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x100]
push ebx
lea ecx, [esp + 0x384]
push eax
inc edx
push ecx
push edx
call fcn.00405720
mov ebp, eax
add esp, 0x1c
test ebp, ebp
je 0x40626c
mov eax, dword [esp + 0x24]
mov cl, byte [eax]
cmp cl, 0x2c
je 0x4061eb
cmp cl, 0x29
jne 0x40677c
mov edx, dword [esp + 0x14]
mov ecx, ebp
lea esi, [esp + 0x374]
mov dword [esp + 0x20], 6
lea edi, [esp + edx*4 + 0x174]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea esi, [esp + 0xf4]
mov ebx, ecx
lea edi, [esp + edx + 0x74]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
add edx, ebp
mov ebp, dword [esp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov esi, eax
jmp 0x4065e4
sub edi, ebp
lea ecx, [esp + 0x24]
push 0
sub edi, esi
push ecx
push edi
lea edx, [esp + ebp + 0x100]
push ebx
lea ecx, [esp + ebp*4 + 0x384]
inc eax
push edx
push ecx
push eax
call fcn.00405720
add esp, 0x1c
mov dword [esp + 0x30], eax
test eax, eax
je 0x40677c
mov esi, dword [esp + 0x24]
mov al, byte [esi]
cmp al, 0x29
je 0x406230
cmp al, 0x5d
jne 0x40677c
mov eax, dword [0x4b239c]
inc esi
cmp eax, 1
jle 0x40624b
movsx edx, byte [esi]
push 8
push edx
call fcn.004924a3
add esp, 8
jmp 0x40625a
movsx eax, byte [esi]
mov ecx, dword [str.________________________________H]
mov al, byte [ecx + eax*2]
and eax, 8
test eax, eax
jne 0x406230
mov al, byte [esi]
cmp al, 0x29
je 0x40626c
test al, al
jne 0x40677c
mov eax, dword [esp + 0x20]
cmp eax, 5
je 0x40677c
cmp eax, 6
je 0x40677c
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
je 0x40677c
mov edi, eax
movsx eax, byte [esp + edi + 0x34]
cmp eax, 1
je 0x4062a4
cmp eax, 2
jne 0x40677c
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x20], 3
mov cl, byte [edx]
mov edx, dword [esp + 0x10]
cmp cl, 0x29
lea ecx, [esp + eax*4 + 0x174]
setne bl
add ebx, 7
lea esi, [ebx - 1]
cmp esi, 0x1c
ja case.default.0x4062dc
xor eax, eax
mov al, byte [esi + 0x406aec]
jmp dword [eax*4 + 0x406ab0]
mov eax, 1
jmp 0x40634e
mov eax, 2
jmp 0x40634e
mov eax, 3
jmp 0x40634e
mov eax, 4
jmp 0x40634e
mov eax, 5
jmp 0x40634e
mov eax, 6
jmp 0x40634e
mov eax, 7
jmp 0x40634e
mov eax, 8
jmp 0x40634e
mov eax, 9
jmp 0x40634e
mov eax, 0xa
jmp 0x40634e
mov eax, 0xb
jmp 0x40634e
mov eax, 0xc
jmp 0x40634e
mov eax, 0xd
jmp 0x40634e
mov eax, 0xe
jmp 0x40634e
mov eax, 0xf
jmp 0x40634e
xor eax, eax
cmp eax, edx
jg 0x40649d
cmp edi, 0xffffffff
je 0x406495
movsx eax, byte [esp + edi + 0x34]
mov edx, dword [esp + 0x14]
dec edi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x588]
cmp edx, edi
jge 0x40677c
mov edi, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, edx
add ecx, 4
mov byte [esp + eax + 0x74], 2
inc eax
cmp edi, 0xffffffff
mov dword [esp + 0x14], eax
jle case.default.0x4063b1
movsx eax, byte [esp + edi + 0x34]
dec eax
cmp eax, 0x1c
ja case.default.0x4063b1
xor edx, edx
mov dl, byte [eax + 0x406b48]
jmp dword [edx*4 + 0x406b0c]
mov edx, 1
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov edx, 2
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov edx, 3
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov edx, 4
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov edx, 5
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov edx, 6
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov edx, 7
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov edx, 8
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov edx, 9
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov edx, 0xa
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov edx, 0xb
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov edx, 0xc
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov edx, 0xd
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov edx, 0xe
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov edx, 0xf
mov dword [esp + 0x10], edx
jmp 0x4062cf
xor edx, edx
mov dword [esp + 0x10], edx
jmp 0x4062cf
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
add eax, ebp
lea esi, [esp + 0x374]
mov ecx, eax
lea edi, [esp + edx*4 + 0x174]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea esi, [esp + 0xf4]
mov ebp, ecx
lea edi, [esp + edx + 0x74]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
add edx, eax
mov eax, dword [esp + 0x588]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x14], edx
inc ecx
cmp edx, eax
mov dword [esp + 0x18], ecx
jge 0x40677c
mov ebp, dword [esp + 0x10]
mov eax, edx
mov esi, ecx
mov dword [esp + eax*4 + 0x174], ebx
mov byte [esp + eax + 0x74], 2
inc eax
mov dword [esp + 0x14], eax
jmp 0x4065e4
cmp bl, 0x29
je 0x4065fb
cmp bl, 0x5d
je 0x4065fb
mov eax, dword [0x4b239c]
mov edi, 1
cmp eax, edi
jle 0x406543
movsx edx, bl
push 0x107
push edx
call fcn.004924a3
add esp, 8
jmp 0x406555
mov ecx, dword [str.________________________________H]
movsx eax, bl
mov ax, word [ecx + eax*2]
and eax, 0x107
test eax, eax
jne 0x40655e
cmp bl, 0x5f
jne 0x4065b1
mov ebx, dword [esp + 0x588]
mov edi, dword [esp + 0x14]
mov eax, ebx
lea edx, [esp + 0x28]
sub eax, edi
push edx
lea ecx, [esp + edi + 0x78]
push eax
mov eax, dword [esp + 0x58c]
lea edx, [esp + edi*4 + 0x17c]
push ecx
push edx
push eax
push esi
call fcn.00477920
add esp, 0x18
test eax, eax
je 0x406622
add edi, eax
mov dword [esp + 0x20], 4
cmp edi, ebx
mov dword [esp + 0x14], edi
jg 0x40660b
mov esi, dword [esp + 0x28]
jmp 0x4065e0
cmp dword [0x4b239c], edi
jle 0x4065c9
movsx ecx, byte [esi]
push 8
push ecx
call fcn.004924a3
add esp, 8
jmp 0x4065d7
movsx edx, byte [esi]
mov eax, dword [str.________________________________H]
mov al, byte [eax + edx*2]
and eax, 8
test eax, eax
je 0x40677c
inc esi
mov dword [esp + 0x18], esi
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x406641
mov ebx, dword [esp + 0x14]
jmp 0x405770
mov eax, dword [esp + 0x58c]
test eax, eax
jne 0x406641
jmp 0x40677c
push str.Overabundance.
push 0x4b6c60
call fcn.00492257
add esp, 8
jmp 0x40677c
mov ecx, dword [esp + 0x578]
push ecx
push str.Died_parsing__s
push 0x4b6c60
call fcn.00492257
add esp, 0xc
jmp 0x40677c
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
cmp ecx, 0xffffffff
jle 0x40667e
mov esi, dword [esp + 0x588]
lea eax, [esp + edx*4 + 0x174]
cmp edx, esi
jge 0x406778
movsx edi, byte [esp + ecx + 0x34]
mov dword [eax], edi
dec ecx
mov byte [esp + edx + 0x74], 2
inc edx
add eax, 4
cmp ecx, 0xffffffff
jg 0x40665c
mov dword [esp + 0x14], edx
test edx, edx
je 0x40677c
mov al, byte [esp + 0x74]
test al, al
je 0x406692
cmp al, 1
jne 0x4066c2
cmp edx, 1
jne 0x4066c2
mov ecx, dword [esp + 0x590]
cmp ecx, 2
jne 0x406706
test al, al
jne 0x4066c2
fild dword [esp + 0x174]
mov byte [esp + 0x74], 1
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x174], edx
mov ebp, dword [esp + 0x14]
xor esi, esi
xor edi, edi
test ebp, ebp
jle case.default.0x4066f9
lea ebx, [esp + 0x174]
mov al, byte [esp + edi + 0x74]
test al, al
je 0x40674e
cmp al, 1
je 0x40674e
cmp al, 2
jne 0x406739
mov eax, dword [ebx]
dec eax
cmp eax, 0x1a
ja case.default.0x4066f9
xor ecx, ecx
mov cl, byte [eax + 0x406b74]
jmp dword [ecx*4 + 0x406b68]
test esi, esi
je case.default.0x4066f9
jmp 0x40674f
cmp ecx, 1
jne 0x4066c2
cmp al, cl
jne 0x4066c2
push str.Expected_int_value_and_read_float.
push 0x4b6c60
call fcn.00492257
add esp, 8
jmp 0x40677c
cmp esi, 2
jl case.default.0x4066f9
dec esi
jmp 0x40674f
cmp esi, 3
jl case.default.0x4066f9
sub esi, 2
inc edi
add ebx, 4
jmp 0x40674f
cmp al, 3
jne case.default.0x4066f9
mov edx, dword [ebx]
mov eax, dword [edx]
push eax
call fcn.0047a7d0
add esp, 4
sub esi, eax
js case.default.0x4066f9
inc esi
inc edi
add ebx, 4
cmp edi, ebp
jl 0x4066d9
cmp esi, 1
je 0x4067b4
mov ecx, dword [esp + 0x578]
push ecx
push str.Malformed_expression_encountered:__s
push 0x4b6c60
call fcn.00492257
add esp, 0xc
jmp 0x40677c
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x14]
xor esi, esi
test ebx, ebx
jle 0x4067a7
lea edi, [esp + 0x174]
cmp byte [esp + esi + 0x74], 3
jne 0x40679f
mov edx, dword [edi]
push edx
call fcn.0047d4c0
add esp, 4
inc esi
add edi, 4
cmp esi, ebx
jl 0x40678d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x564
ret
mov eax, dword [esp + 0x58c]
test eax, eax
je 0x4067c5
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov edi, dword [esp + 0x57c]
mov ecx, ebp
lea esi, [esp + 0x174]
mov eax, ebp
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x580]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0x74]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x564
ret
aaa
arpl word [eax], ax
push es
arpl word [eax], ax
clc
bound eax, qword [eax]
jmp dword [edx + 0x40]