Function at 0x4563d0
Capabilities:
Check http status code
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x495cb8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xdac
mov edx, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebx]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
push esi
xor esi, esi
cmp byte [eax], 2
mov eax, dword [eax + 8]
setne cl
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x44], esi
push edi
mov dword [ebp - 0x34], 0x499869
dec ecx
and ecx, dword [0x4ab178]
add edx, edx
mov esi, dword [eax + edx*8 + 0xc]
lea eax, [eax + edx*8 + 0xc]
mov dword [ebp - 0x70], ecx
cmp dword [esi + 8], 0x41
mov dword [ebp - 0x20], esi
je 0x458023
mov eax, 0x10
call fcn.00491b50
mov ecx, dword [esi]
mov ebx, esp
mov dword [ebx], ecx
mov edx, dword [esi + 4]
mov dword [ebx + 4], edx
mov eax, dword [esi + 8]
mov dword [ebx + 8], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 0xc], ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 0x28], ebx
cmp eax, 8
jge 0x4568db
cmp eax, 7
jne 0x457472
mov edx, dword [ebx + 4]
test edx, edx
je 0x456718
mov eax, dword [ebx]
xor edi, edi
mov dword [ebx], 0x499869
mov dword [ebx + 8], edi
mov ecx, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], edx
cmp ecx, edx
jne 0x4564e4
movzx esi, word [eax + 0xa]
cmp byte [esi + edx], 0
jne 0x4564e4
cmp byte [eax + 0x14], 0
je 0x4564e4
mov edx, dword [eax + 4]
cmp byte [edx + 0x17], 0
jne 0x4564ba
mov edx, dword [edx + 0xc]
test byte [edx + 0x15], 2
je 0x4564e4
mov dword [ebx + 8], 6
mov eax, dword [eax + 4]
cmp byte [eax + 0x17], 0
jne 0x4564d3
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [ebx], eax
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x457472
test ecx, ecx
je 0x4565e6
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
cmp eax, ecx
jae 0x456510
cmp edi, 0xfd
jae 0x45651a
mov cl, byte [eax]
mov byte [ebp + edi - 0x194], cl
inc eax
inc edi
cmp eax, dword [esi]
jb 0x4564f6
mov dword [ebp - 0x28], eax
cmp edi, 0xfd
jb 0x456525
jmp 0x45651d
mov dword [ebp - 0x28], eax
cmp eax, dword [esi]
jb 0x456661
mov esi, dword [esi + 4]
movzx eax, byte [esi + 0x17]
cmp eax, 3
ja case.default.0x456531
jmp dword [eax*4 + 0x4583d4]
mov eax, esi
call fcn.00401150
cmp dword [0x4ab394], 0
jne 0x456579
cmp dword [esi + 0xc], 0
jne 0x456579
mov eax, dword [esi + 0x18]
push 0
lea edx, [ebp - 0x76]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x45656f
mov dword [0x4ae2f4], 0
dec eax
jmp 0x4565aa
mov dword [0x4ae2f4], esi
xor eax, eax
jmp 0x4565aa
mov eax, dword [esi + 0xc]
jmp 0x4565aa
mov ecx, dword [esi + 0xc]
push 0
call fcn.00475610
jmp 0x4565aa
xor ecx, ecx
call fcn.00404110
cmp eax, 0xffffffff
jne 0x4565aa
xor eax, eax
jmp 0x4565aa
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x10]
push ecx
push 0
call edx
add esp, 8
mov ecx, 0xfd
sub ecx, edi
cmp eax, ecx
ja 0x456661
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi + 4]
lea edx, [ebp + edi - 0x194]
push edx
call fcn.00475610
mov ecx, dword [esi + 0xc]
add edi, eax
movzx eax, word [esi + 0xa]
add dword [ebp - 0x28], eax
add esi, 0xc
mov dword [ebp - 0x14], esi
test ecx, ecx
jne 0x4564ec
mov ecx, dword [ebp - 0x28]
mov al, byte [ecx]
test al, al
je 0x456607
nop
cmp edi, 0xfd
jae 0x45660f
inc ecx
mov byte [ebp + edi - 0x194], al
mov al, byte [ecx]
inc edi
test al, al
jne 0x4565f0
cmp edi, 0xfd
jb 0x456614
cmp byte [ecx], 0
jne 0x456661
mov eax, dword [ebp - 0x14]
test edi, edi
jne 0x456621
cmp byte [eax + 8], 0
je 0x456664
mov byte [ebp + edi - 0x194], 0
cmp byte [eax + 8], 0
je 0x4566bb
lea eax, [edi + 1]
mov dword [ebx + 8], 0
call fcn.0048edb0
mov esi, esp
lea eax, [ebp - 0x194]
mov edx, esi
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x456650
mov dword [ebx], esi
jmp 0x457472
mov eax, dword [ebp - 0x14]
cmp dword [eax], 0
je 0x456678
lea esp, [esp]
add eax, 0xc
cmp dword [eax], 0
jne 0x456670
cmp byte [eax + 8], 0
je 0x457472
mov ecx, dword [ebp - 0x70]
test ecx, ecx
je case.0x4580f8.3
mov eax, dword [ebp - 0x34]
test eax, eax
je case.0x4580f8.3
push 1
push 0
push 0xffffffffffffffff
push eax
push ecx
call fcn.00475240
test eax, eax
jne case.0x4580f8.3
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
jmp case.0x4580f8.3
cmp byte [ebp - 0x194], 0
je 0x458238
lea edx, [ebp - 0x59]
push edx
push 3
lea eax, [ebp - 0x90]
push eax
push edi
lea ecx, [ebp - 0x194]
push ecx
mov ecx, 0x4ad290
call fcn.00420cd0
test eax, eax
jne 0x456716
mov eax, dword [ebp - 0x90]
xor edx, edx
cmp byte [ebp - 0x59], dl
mov ecx, edi
setne dl
inc edx
push edx
push eax
push 0x4ad290
lea edx, [ebp - 0x194]
call fcn.00420f70
test eax, eax
je 0x458238
mov dword [ebx], eax
mov edi, dword [ebx]
mov cl, byte [edi + 0x17]
mov eax, dword [0x4a7918]
xor esi, esi
test cl, cl
jne 0x45672e
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
movzx ecx, cl
mov edx, 1
sub ecx, edx
je 0x456775
sub ecx, 3
jne 0x4567a8
mov ecx, dword [edi + 0x10]
cmp ecx, 0x4438a0
jne 0x45675d
mov ecx, dword [eax + 8]
mov dword [ebx], ecx
mov eax, dword [eax + 0xc]
mov dword [ebx + 4], eax
mov dword [ebx + 8], edx
jmp 0x457472
cmp ecx, 0x444090
jne 0x4567a8
mov ecx, dword [eax + 0x38]
mov dword [ebx], ecx
mov dword [ebx + 4], esi
mov dword [ebx + 8], edx
jmp 0x457472
cmp dword [0x4ab394], esi
jne 0x457a5d
cmp byte [edi + 0x17], 0
jne 0x45678c
mov eax, dword [edi + 0xc]
jmp 0x45678e
mov eax, edi
test byte [eax + 0x15], 0xa
jne 0x457a5d
xor edx, edx
cmp dword [eax + 0xc], esi
setne dl
cmp edx, esi
jne 0x457a5d
movzx eax, byte [edi + 0x17]
cmp eax, 3
ja case.default.0x4567b1
jmp dword [eax*4 + 0x4583e4]
mov eax, edi
call fcn.00401150
cmp dword [0x4ab394], esi
jne 0x4567f2
cmp dword [edi + 0xc], esi
jne 0x4567f2
mov ecx, dword [edi + 0x18]
push esi
lea eax, [ebp - 0x75]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
cmp eax, esi
je 0x4567e8
mov dword [0x4ae2f4], esi
dec eax
jmp 0x45681f
mov dword [0x4ae2f4], edi
xor eax, eax
jmp 0x45681f
mov eax, dword [edi + 0xc]
jmp 0x45681f
mov ecx, dword [edi + 0xc]
push esi
call fcn.00475610
jmp 0x45681f
xor ecx, ecx
call fcn.00404110
cmp eax, 0xffffffff
jne 0x45681f
xor eax, eax
jmp 0x45681f
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x10]
push edx
push esi
call eax
add esp, 8
lea edi, [eax + 1]
cmp edi, 1
jne 0x456855
mov eax, dword [ebx]
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x456836
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x456847
mov dword [ebx + 8], 4
jmp 0x457472
mov dword [ebx], 0x499869
mov dword [ebx + 8], esi
jmp 0x457472
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x68]
mov ecx, dword [ebp + 0x20]
add eax, dword [ecx]
cmp edi, eax
ja 0x456872
mov eax, dword [ebp - 0x68]
mov esi, eax
add eax, edi
mov dword [ebp - 0x68], eax
jmp 0x4568be
cmp edi, 0x1001
jae 0x456891
cmp dword [ebp - 0x44], 0x9c40
jae 0x456891
mov eax, edi
call fcn.0048edb0
add dword [ebp - 0x44], edi
mov esi, esp
jmp 0x4568be
cmp dword [ebp - 0x2c], 0xc8
je 0x457f4d
push edi
call fcn.00485539
mov edx, dword [ebp - 0x2c]
add esp, 4
mov dword [ebp + edx*4 - 0x4b4], eax
cmp eax, esi
je 0x457f4d
inc dword [ebp - 0x2c]
mov esi, eax
mov ecx, dword [ebx]
push esi
call fcn.00475610
mov dword [ebx], esi
mov dword [ebx + 4], 0
mov dword [ebx + 8], 5
jmp 0x457472
cmp eax, 0x3e
jne 0x456ccc
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
movzx eax, byte [eax + 9]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x18]
jg 0x456682
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
lea esi, [ebp + eax*4 - 0xcb4]
test ecx, ecx
jne 0x45699d
test eax, eax
je 0x456682
dec eax
mov edi, dword [ebp + eax*4 - 0xcb4]
mov dword [ebp - 0x18], eax
lea eax, [ebp + eax*4 - 0xcb4]
call fcn.0044d5e0
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x456986
mov edi, dword [ebp - 0x24]
test edi, edi
je 0x456959
lea edx, [edi*4]
push edx
lea eax, [esi + 4]
push esi
push eax
call fcn.00485f60
add esp, 0xc
inc dword [ebp - 0x6c]
mov eax, 0x10
call fcn.00491b50
mov eax, esp
mov dword [esi], eax
mov dword [eax + 8], 0
mov ecx, dword [esi]
sub esi, 4
add edi, 2
mov dword [ecx], 0x499869
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x14], 0x4a8c30
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
cmp edx, dword [eax + 0x14]
jge 0x45699d
mov ecx, dword [ebx]
cmp byte [ecx + 8], 2
jne 0x456682
mov edi, dword [ebx + 0xc]
xor eax, eax
lea edx, [ebp - 0x194]
mov dword [ebx + 4], edx
mov dword [ebp - 0x60], edi
mov dword [ebx + 0xc], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 4], eax
mov eax, dword [ebx]
cmp byte [eax + 8], 2
mov eax, dword [ebp - 0x24]
sete cl
movzx edx, cl
push edx
mov edx, dword [ebp - 0x14]
push eax
push esi
mov esi, dword [ebp + 0x10]
push ebx
push esi
lea ecx, [ebp - 0x40]
push ecx
push edx
call fcn.004585f0
test al, al
je 0x457f5c
mov ecx, dword [ebp + 8]
mov dword [0x4ad600], ecx
mov eax, dword [ebx + 8]
cmp eax, 1
je 0x456ca1
cmp eax, 2
je 0x456ca1
cmp eax, 6
je 0x456ca1
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x456a35
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x18], 0x41
jne 0x456a35
cmp byte [ecx], 3
mov dword [ebp - 0x24], 1
je 0x457f90
mov esi, dword [ebp - 0x70]
jmp 0x456a6e
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x18], 0x13
mov dword [ebp - 0x24], 0
jne 0x456a6c
test eax, eax
je 0x456a6c
lea eax, [ebp + eax*4 - 0xcb4]
mov eax, dword [eax - 4]
cmp dword [eax + 8], 4
jne 0x456a6c
mov esi, dword [eax]
mov al, byte [esi + 0x17]
test al, al
jne 0x456a68
mov eax, dword [esi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
je 0x456a6e
xor esi, esi
mov edi, dword [ebx]
test esi, esi
je 0x456b22
mov edx, dword [0x4a7918]
mov eax, dword [edx + 0x94]
cmp eax, dword [ebp - 0x14]
jne 0x456a98
mov dl, byte [esi + 0x16]
and dl, 0x22
cmp dl, 2
je 0x456b22
mov ecx, dword [ebx + 0xc]
cmp ecx, edi
jne 0x456aae
mov eax, dword [ebx + 4]
push eax
mov edi, ecx
mov eax, esi
call fcn.00475920
jmp 0x456af8
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x456ab3
mov ecx, dword [ebx]
sub eax, edx
cmp ecx, dword [0x4ad1d8]
jne 0x456ae3
cmp eax, 0x40
jb 0x456ae3
push eax
mov edi, ecx
mov eax, esi
call fcn.00475920
xor eax, eax
mov dword [0x4ad1d8], eax
mov dword [0x4ad1dc], eax
jmp 0x456af8
push 1
push 0
push 0xffffffffffffffff
push ecx
push esi
call fcn.00475240
test eax, eax
je 0x457fb5
cmp dword [ebp - 0x24], 0
jne 0x457f68
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x18]
mov ecx, dword [eax + 0x1c]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov dword [ebx + 0xc], ecx
mov dword [ebx], esi
mov dword [ebx + 8], 4
jmp 0x456ca4
mov edx, dword [ebx + 0xc]
mov esi, 1
test edx, edx
je 0x456b4d
mov eax, dword [ebp - 0x2c]
cmp eax, 0xc8
je 0x457fa2
cmp edx, edi
jne 0x456b42
xor esi, esi
mov dword [ebp + eax*4 - 0x4b4], edx
inc eax
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x60]
mov eax, dword [ebx]
mov dword [ebx + 0xc], edx
cmp byte [eax], 0
jne 0x456b96
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x40]
mov dword [ebx], 0x499869
mov dword [ebx + 8], 5
mov dword [ebx + 4], 0
test eax, eax
je 0x457472
lea ecx, [ebp - 0x38]
push ecx
lea edx, [ebp - 0x3c]
push edx
push eax
call fcn.00475b40
add esp, 0xc
jmp 0x457472
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x3d], 0
je 0x456baf
test esi, esi
je 0x456be7
xor ecx, ecx
cmp dword [ebp - 0x24], ecx
sete cl
mov esi, ecx
jmp 0x456be7
cmp edi, dword [0x4ad1d8]
jne 0x456be2
xor esi, esi
cmp dword [ebp - 0x24], esi
jne 0x456be7
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x18]
add ecx, 0x18
cmp eax, 0x41
je 0x456be7
lea esp, [esp]
cmp eax, 0x3e
je 0x456be2
mov eax, dword [ecx + 0x10]
add ecx, 0x10
cmp eax, 0x41
jne 0x456bd0
jmp 0x456be7
mov esi, 1
mov eax, dword [ebx]
mov dword [ebx + 4], 0
mov dword [ebx + 8], 5
test esi, esi
je 0x456c9d
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x456c02
mov esi, dword [ebp - 0x68]
mov ecx, dword [ebp + 0x20]
sub eax, edx
mov edx, dword [ebp + 0x1c]
lea edi, [eax + 1]
mov eax, dword [edx]
sub eax, esi
add eax, dword [ecx]
cmp edi, eax
ja 0x456c37
mov eax, dword [ebx]
push edi
push eax
push esi
call fcn.0048dc80
add esp, 0xc
add esi, edi
mov dword [ebp - 0x68], esi
mov dword [ebx], eax
jmp 0x456ca4
cmp edi, 0x1001
jae 0x456c65
cmp dword [ebp - 0x44], 0x9c40
jae 0x456c65
mov eax, edi
call fcn.0048edb0
mov eax, dword [ebx]
mov ecx, esp
push edi
push eax
push ecx
call fcn.0048dc80
add esp, 0xc
add dword [ebp - 0x44], edi
mov dword [ebx], eax
jmp 0x456ca4
mov esi, dword [ebp - 0x2c]
cmp esi, 0xc8
je 0x457fdd
push edi
call fcn.00485539
add esp, 4
mov dword [ebp + esi*4 - 0x4b4], eax
test eax, eax
je 0x457fdd
mov ecx, dword [ebx]
push edi
push ecx
push eax
call fcn.0048dc80
add esp, 0xc
inc esi
mov dword [ebp - 0x2c], esi
mov dword [ebx], eax
jmp 0x456ca4
mov dword [ebx + 0xc], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x457472
lea edx, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x3c]
push ecx
push eax
call fcn.00475b40
add esp, 0xc
jmp 0x457472
cmp eax, 0x1f
jne 0x456d12
cmp dword [ebx + 0xc], 0
je 0x457f3f
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x457f3f
dec eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + eax*4 - 0xcb4]
mov edx, dword [eax]
mov dword [ebx], edx
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
mov edx, dword [eax + 8]
mov dword [ebx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ebx + 0xc], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 0xc], ecx
jmp 0x45747c
cmp dword [ebp - 0x18], 0
je 0x456682
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp + edx*4 - 0xcb8]
dec edx
cmp dword [edi + 8], 8
mov dword [ebp - 0x18], edx
jge 0x456682
cmp eax, 0x20
jne 0x456d6f
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x456682
mov edx, dword [eax + 0xc]
mov dword [edi + 0xc], edx
mov dword [ebp - 0x20], eax
mov eax, dword [edi]
mov dword [ebx], eax
mov ecx, dword [edi + 4]
mov dword [ebx + 4], ecx
mov edx, dword [edi + 8]
mov dword [ebx + 8], edx
mov eax, dword [edi + 0xc]
mov dword [ebx + 0xc], eax
mov dword [edi + 8], 1
jmp 0x457472
add eax, 0xffffffee
cmp eax, 0x27
ja case.0x456d7e.20
movzx ecx, byte [eax + 0x4583fc]
jmp dword [ecx*4 + 0x4583f4]
mov eax, edi
call fcn.0044d150
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 8]
lea ecx, [eax - 9]
mov dword [ebp - 0x58], 0
cmp ecx, 0x34
ja case.0x456daf.11
movzx ecx, byte [ecx + 0x458440]
jmp dword [ecx*4 + 0x458424]
mov eax, dword [ebp - 0x30]
mov esi, edi
call fcn.0044d030
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], 1
jmp 0x457472
mov eax, dword [ebp - 0x30]
mov esi, edi
call fcn.0044d030
test eax, eax
jne 0x4577bf
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
jmp 0x457472
mov eax, dword [ebp - 0x30]
cmp eax, 1
jne 0x456e22
push eax
mov ecx, edi
call fcn.0044d290
add esp, 4
neg eax
adc edx, 0
neg edx
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x30]
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x457472
cmp eax, 2
jne 0x457038
push 1
push 0
mov eax, edi
call fcn.0044d320
fchs
fstp qword [ebx]
add esp, 8
mov edx, dword [ebp - 0x30]
mov dword [ebx + 8], edx
jmp 0x457472
xor ecx, ecx
cmp eax, 0x3c
setge cl
mov dword [ebp - 0x60], ecx
mov ecx, dword [edi + 8]
cmp ecx, 4
jne 0x457038
mov edx, dword [ebp - 0x30]
test edx, edx
je 0x456f16
cmp eax, 9
je 0x456e79
cmp eax, 0x3c
je 0x456e79
or esi, 0xffffffff
jmp 0x456e7e
mov esi, 1
mov dword [ebp - 0x4c], esi
push 1
cmp edx, 1
jne 0x456eab
mov ecx, edi
call fcn.0044d290
mov dword [ebx], eax
mov dword [ebx + 4], edx
add esp, 4
mov eax, esi
cdq
add eax, dword [ebx]
adc edx, dword [ebx + 4]
push edx
mov edx, dword [edi]
push eax
push edx
call fcn.00412ef0
jmp 0x456ec4
push 0
mov eax, edi
call fcn.0044d320
fst qword [ebx]
fiadd dword [ebp - 0x4c]
mov eax, dword [edi]
fstp qword [esp]
push eax
call fcn.00412f20
cmp dword [ebp - 0x60], 0
je 0x456e3d
mov edi, dword [edi]
mov al, byte [edi + 0x17]
test al, al
jne 0x456edd
mov ecx, dword [edi + 0xc]
mov al, byte [ecx + 0x17]
cmp al, 1
jne 0x456eef
mov dword [ebx], edi
mov dword [ebx + 8], 4
jmp 0x457472
mov ecx, dword [ebp - 0x30]
cmp ecx, 1
jne 0x456f07
mov eax, esi
cdq
add dword [ebx], eax
mov dword [ebx + 8], ecx
adc dword [ebx + 4], edx
jmp 0x457472
fild dword [ebp - 0x4c]
mov dword [ebx + 8], ecx
fadd qword [ebx]
fstp qword [ebx]
jmp 0x457472
cmp ecx, 4
jne 0x457038
mov eax, dword [edi]
cmp byte [eax + 0x17], 0
jne 0x456f2c
mov ecx, dword [eax + 0xc]
jmp 0x456f2e
mov ecx, eax
test byte [ecx + 0x15], 4
je 0x456f39
call fcn.0042dec0
mov ecx, dword [edi]
call fcn.00412e90
cmp dword [ebp - 0x60], 0
je 0x457038
mov edi, dword [edi]
mov al, byte [edi + 0x17]
test al, al
jne 0x456f59
mov eax, dword [edi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x457038
mov dword [ebx], edi
mov dword [ebx + 8], 4
jmp 0x457472
mov eax, dword [edi + 8]
cmp eax, 4
jne 0x457019
mov eax, dword [edi]
cmp byte [eax + 0x17], 0
jne 0x456f88
mov ecx, dword [eax + 0xc]
jmp 0x456f8a
mov ecx, eax
test byte [ecx + 0x15], 2
je 0x456faf
mov dword [ebx + 8], 1
mov edi, dword [edi]
cmp byte [edi + 0x17], 0
jne 0x456fa2
mov edi, dword [edi + 0xc]
mov eax, dword [edi]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x457472
call fcn.00403b00
mov dword [ebx + 8], 1
mov edi, dword [edi]
cmp byte [edi + 0x17], 0
jne 0x456fc6
mov edi, dword [edi + 0xc]
test byte [edi + 0x15], 8
je 0x456fd3
mov eax, edi
call fcn.00401150
mov al, byte [edi + 0x17]
cmp al, 1
jne 0x456ff5
test byte [edi + 0x15], 4
je 0x456fe7
mov eax, edi
call fcn.0042dec0
mov eax, dword [edi + 8]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x457472
cmp al, 2
jne 0x457009
call fcn.00401000
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x457472
mov eax, 0x4acb37
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x457472
cmp eax, 6
jne 0x457038
mov dword [ebx + 8], 1
mov eax, dword [edi]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x457472
cmp dword [ebp - 0x30], 0
jne 0x45704a
mov dword [ebx], 0x499869
mov dword [ebx + 8], 0
jmp 0x457472
xor ecx, ecx
mov esi, 1
cmp dword [ebp - 0x30], esi
sete cl
push ecx
mov ecx, edi
call fcn.0044d290
add esp, 4
cmp dword [ebx + 8], 0x38
jne 0x457097
test edx, edx
ja 0x457086
jb 0x457073
cmp eax, 0xffffffff
ja 0x457086
not eax
mov dword [ebx + 4], 0
mov dword [ebx], eax
mov dword [ebx + 8], esi
jmp 0x457472
not eax
not edx
mov dword [ebx + 4], edx
mov dword [ebx], eax
mov dword [ebx + 8], esi
jmp 0x457472
cmp eax, 0x1000
jae 0x4570ae
xor eax, eax
cdq
mov dword [ebx + 4], edx
mov dword [ebx], eax
mov dword [ebx + 8], esi
jmp 0x457472
movzx eax, byte [eax]
cdq
mov dword [ebx + 4], edx
mov dword [ebx], eax
mov dword [ebx + 8], esi
jmp 0x457472
test edx, edx
je 0x456682
dec edx
mov dword [ebp - 0x18], edx
lea edx, [ebp + edx*4 - 0xcb4]
mov dword [ebp - 0x50], edx
mov edx, dword [edx]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x48], edx
cmp ecx, 8
jge 0x456682
cmp eax, 0x12
jne 0x457120
mov eax, dword [edx]
mov dword [ebx], eax
mov ecx, dword [edx + 4]
mov dword [ebx + 4], ecx
mov eax, dword [edx + 8]
mov dword [ebx + 8], eax
mov ecx, dword [edx + 0xc]
mov dword [ebx + 0xc], ecx
cmp dword [ebx + 8], 6
mov edx, dword [esi + 0xc]
mov dword [ebx + 0xc], edx
jne 0x457472
mov eax, dword [ebx]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
jmp 0x457472
cmp eax, 0x1e
jg 0x457220
cmp eax, 0x13
jl 0x457220
cmp ecx, 4
je 0x457149
mov dword [ebx], 0x499869
mov dword [ebx + 8], 0
jmp 0x457472
add eax, 0xffffffed
cmp eax, 0xb
ja case.default.0x457155
jmp dword [eax*4 + 0x458478]
mov esi, dword [ebp - 0x48]
mov ebx, dword [esi]
mov eax, edi
call fcn.00474b90
test eax, eax
je 0x458238
mov ecx, dword [esi]
mov al, byte [ecx + 0x17]
test al, al
jne 0x45717f
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
mov ebx, dword [ebp - 0x28]
cmp al, 2
mov eax, ebx
jne 0x4571ac
mov ecx, dword [edi]
mov dword [eax], ecx
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov edx, dword [edi + 0xc]
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
jmp 0x457472
mov dword [eax], ecx
mov dword [eax + 8], 4
jmp 0x457472
mov dword [ebx + 8], 0x31
jmp case.default.0x457155
mov dword [ebx + 8], 0x32
jmp case.default.0x457155
mov dword [ebx + 8], 0x33
jmp case.default.0x457155
mov dword [ebx + 8], 0x34
jmp case.default.0x457155
mov dword [ebx + 8], 0x35
jmp case.default.0x457155
mov dword [ebx + 8], 0x2c
jmp case.default.0x457155
mov dword [ebx + 8], 0x2d
jmp case.default.0x457155
mov dword [ebx + 8], 0x2e
jmp case.default.0x457155
mov dword [ebx + 8], 0x2f
jmp case.default.0x457155
mov dword [ebx + 8], 0x30
jmp case.default.0x457155
mov dword [ebx + 8], 0x2b
mov eax, dword [edx]
mov dword [ebp - 0x58], eax
cmp dword [ebx + 8], 0x2b
je 0x457773
cmp dword [ebp - 0x30], 0
je 0x457773
mov eax, dword [ebp - 0x48]
call fcn.0044d150
mov esi, eax
mov dword [ebp - 0x60], esi
test esi, esi
je 0x457773
mov ecx, dword [ebp - 0x30]
cmp ecx, 1
jne 0x45725b
cmp esi, ecx
jne 0x45725b
cmp dword [ebx + 8], 0x34
jne 0x457270
mov eax, dword [ebx + 8]
cmp eax, 0x30
jg 0x45751d
cmp eax, 0x2c
jl 0x45751d
xor ecx, ecx
cmp dword [ebp - 0x30], 1
sete cl
push ecx
mov ecx, edi
call fcn.0044d290
mov ecx, dword [ebp - 0x48]
mov esi, edx
xor edx, edx
add esp, 4
cmp dword [ebp - 0x60], 1
mov edi, eax
sete dl
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x88], esi
push edx
call fcn.0044d290
mov ecx, dword [ebx + 8]
add ecx, 0xffffffdc
add esp, 4
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x14], 1
cmp ecx, 0x17
ja case.0x4572c8.43
jmp dword [ecx*4 + 0x4584a8]
add eax, edi
adc edx, esi
mov dword [ebx + 4], edx
mov dword [ebx], eax
jmp case.0x4572c8.43
sub eax, edi
sbb edx, esi
mov dword [ebx + 4], edx
mov dword [ebx], eax
jmp case.0x4572c8.43
push esi
push edi
push edx
push eax
call fcn.0048c310
mov dword [ebx + 4], edx
mov dword [ebx], eax
jmp case.0x4572c8.43
cmp eax, edi
jne 0x457317
cmp edx, esi
jne 0x457317
mov eax, 1
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], eax
jmp case.0x4572c8.43
xor eax, eax
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], eax
jmp case.0x4572c8.43
cmp eax, edi
jne 0x45732d
cmp edx, esi
je 0x457317
mov eax, 1
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], eax
jmp case.0x4572c8.43
cmp edx, esi
jl 0x457317
jg 0x457348
cmp eax, edi
jbe 0x457317
mov eax, 1
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], eax
jmp case.0x4572c8.43
cmp edx, esi
jg 0x457317
jl 0x457363
cmp eax, edi
jae 0x457317
mov eax, 1
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], eax
jmp case.0x4572c8.43
cmp edx, esi
jl 0x457317
jg 0x45737e
cmp eax, edi
jb 0x457317
mov eax, 1
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], eax
jmp case.0x4572c8.43
cmp edx, esi
jg 0x457317
jl 0x45739d
cmp eax, edi
ja 0x457317
mov eax, 1
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], eax
jmp case.0x4572c8.43
and eax, edi
and edx, esi
mov dword [ebx + 4], edx
mov dword [ebx], eax
jmp case.0x4572c8.43
or eax, edi
or edx, esi
mov dword [ebx + 4], edx
mov dword [ebx], eax
jmp case.0x4572c8.43
xor eax, edi
xor edx, esi
mov dword [ebx + 4], edx
mov dword [ebx], eax
jmp case.0x4572c8.43
mov ecx, edi
call fcn.004948f0
mov dword [ebx + 4], edx
mov dword [ebx], eax
jmp case.0x4572c8.43
mov ecx, edi
call fcn.004948c0
mov dword [ebx + 4], edx
mov dword [ebx], eax
jmp case.0x4572c8.43
mov ecx, edi
or ecx, dword [ebp - 0x88]
je case.default.0x45780d
mov ecx, dword [ebp - 0x88]
push ecx
push edi
push edx
push eax
call fcn.00493df0
mov dword [ebx + 4], edx
mov dword [ebx], eax
jmp case.0x4572c8.43
mov ecx, eax
or ecx, edx
jne 0x457492
test esi, esi
jg 0x4574eb
jl case.default.0x45780d
test edi, edi
jae 0x4574eb
mov dword [ebx], 0x499869
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x14]
mov dword [ebx + 8], edx
cmp dword [ebp - 0x58], 0
je 0x457472
mov eax, ebx
mov ebx, dword [ebp - 0x58]
call fcn.00474b90
test eax, eax
je 0x458238
mov al, byte [ebx + 0x17]
test al, al
jne 0x45745f
mov eax, dword [ebx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 2
je 0x45746f
mov eax, dword [ebp - 0x28]
mov dword [eax], ebx
mov dword [eax + 8], 4
mov ebx, dword [ebp - 0x28]
cmp dword [ebx + 0xc], 0
je 0x457eef
mov eax, dword [ebx + 8]
lea ecx, [eax - 1]
cmp ecx, 4
ja case.0x45748b.3
jmp dword [ecx*4 + 0x458508]
test edx, edx
jg 0x4574eb
jl 0x45749c
test eax, eax
jae 0x4574eb
neg eax
adc edx, 0
neg edx
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
fild qword [ebp - 0x8c]
sub esp, 0x10
fstp qword [esp + 8]
fild qword [ebp - 0x84]
fstp qword [esp]
call fcn.0042ed70
cmp dword [ebp - 0x60], 0
fst qword [ebx]
je 0x4574f4
push 0
push 2
push esi
push edi
call fcn.00494800
or eax, edx
je 0x4574f4
fchs
fstp qword [ebx]
jmp 0x4574f6
mov dword [ebp - 0x60], 0
jmp 0x4574b3
fstp st(0)
test esi, esi
jg 0x45750c
jl 0x457500
test edi, edi
jae 0x45750c
mov dword [ebp - 0x14], 2
jmp case.0x4572c8.43
fld qword [ebx]
call fcn.00493d76
mov dword [ebx + 4], edx
mov dword [ebx], eax
jmp case.0x4572c8.43
xor eax, eax
cmp ecx, 2
sete al
push eax
push 1
mov eax, edi
call fcn.0044d320
fstp qword [ebp - 0x54]
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp esi, 2
sete cl
push ecx
push 1
call fcn.0044d320
fst qword [ebp - 0x64]
mov ecx, dword [ebx + 8]
add esp, 0x10
cmp ecx, 0x24
jl 0x45755d
mov edi, 1
cmp ecx, 0x2a
jle 0x457562
mov edi, 2
lea eax, [ecx - 0x24]
cmp eax, 0x17
ja case.0x457571.43
movzx edx, byte [eax + 0x45854c]
jmp dword [edx*4 + 0x45851c]
fadd qword [ebp - 0x54]
mov dword [ebx + 8], edi
fstp qword [ebx]
jmp 0x45743a
fsub qword [ebp - 0x54]
mov dword [ebx + 8], edi
fstp qword [ebx]
jmp 0x45743a
fmul qword [ebp - 0x54]
mov dword [ebx + 8], edi
fstp qword [ebx]
jmp 0x45743a
fld qword [ebp - 0x54]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x4575c3
fstp st(1)
mov dword [ebx], 0x499869
xor edi, edi
fstp st(0)
mov dword [ebx + 8], edi
jmp 0x45743a
fdivp st(1)
fst qword [ebx]
cmp ecx, 0x35
jne case.0x457571.43
sub esp, 8
fstp qword [esp]
call fcn.0042edd0
fstp qword [ebx]
mov dword [ebx + 8], edi
jmp 0x45743a
fld qword [ebp - 0x54]
fucompp
fnstsw ax
test ah, 0x44
jp 0x457601
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x45743a
xor eax, eax
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x45743a
fld qword [ebp - 0x54]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x457601
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x45743a
fcomp qword [ebp - 0x54]
fnstsw ax
test ah, 0x41
jne 0x457601
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x45743a
fcomp qword [ebp - 0x54]
fnstsw ax
test ah, 5
jp 0x457601
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x45743a
fcomp qword [ebp - 0x54]
fnstsw ax
test ah, 1
jne 0x457601
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x45743a
fcomp qword [ebp - 0x54]
fnstsw ax
test ah, 0x41
jp 0x457601
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x45743a
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4576c0
mov esi, 1
jmp 0x4576c2
xor esi, esi
fld st(1)
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x4576eb
fcomp qword [ebp - 0x54]
fnstsw ax
test ah, 0x41
jne 0x4576ed
fstp st(0)
xor edi, edi
mov dword [ebx], 0x499869
mov dword [ebx + 8], edi
jmp 0x45743a
fstp st(0)
test esi, esi
je 0x457717
fstp st(0)
sub esp, 0x10
fld1
fstp qword [esp + 8]
fld qword [ebp - 0x54]
fstp qword [esp]
call fcn.0042ee00
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x4576db
fld qword [ebp - 0x64]
fchs
fld qword [ebp - 0x54]
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
call fcn.0042ed70
fstp qword [ebx]
test esi, esi
je 0x4575bb
fld qword [0x4a1c88]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ebp - 0x54]
fstp qword [esp]
call fcn.0042ee00
sub esp, 8
fstp qword [esp]
call fcn.0042ed60
fld1
fucompp
fnstsw ax
test ah, 0x44
jp 0x4575bb
fld qword [ebx]
mov dword [ebx + 8], edi
fchs
fstp qword [ebx]
jmp 0x45743a
mov eax, dword [ebx + 8]
add eax, 0xffffffdc
cmp eax, 2
ja 0x4577d4
mov ecx, edi
call fcn.0044d590
mov ecx, dword [ebp - 0x48]
mov esi, eax
call fcn.0044d590
test esi, esi
jne 0x457797
test eax, eax
je 0x4577d4
xor ecx, ecx
cmp esi, eax
sete cl
xor edx, edx
cmp dword [ebx + 8], 0x26
setne dl
cmp edx, ecx
jne 0x4577bf
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
jmp 0x457472
xor eax, eax
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], 1
jmp 0x457472
lea ecx, [ebp - 0xdb4]
mov eax, edi
call fcn.0044d3d0
mov esi, eax
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x194]
mov dword [ebp - 0x4c], esi
call fcn.0044d3d0
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 8]
add eax, 0xffffffdc
mov dword [ebp - 0x14], 1
cmp eax, 7
ja case.default.0x45780d
jmp dword [eax*4 + 0x458564]
mov eax, dword [0x4a7918]
cmp byte [eax + 0xd2], 0
push esi
jne 0x457831
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.00485381
add esp, 8
jmp 0x45783b
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x457850
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp case.0x4572c8.43
xor eax, eax
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp case.0x4572c8.43
mov eax, dword [ebp - 0x1c]
push esi
push eax
call fcn.004854d1
add esp, 8
test eax, eax
jne 0x457850
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp case.0x4572c8.43
mov ecx, dword [0x4a7918]
mov al, byte [ecx + 0xd2]
push esi
test al, al
jne 0x45789c
mov edx, dword [ebp - 0x1c]
push edx
call fcn.00485381
jmp 0x4578c7
cmp al, 2
jne 0x4578be
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
xor edx, edx
test eax, eax
setne dl
mov eax, edx
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x4572c8.43
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.004854d1
xor edx, edx
add esp, 8
test eax, eax
setne dl
mov eax, edx
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x4572c8.43
mov eax, dword [0x4a7918]
mov al, byte [eax + 0xd2]
push esi
test al, al
jne 0x4578f9
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.00485381
jmp 0x457912
cmp al, 2
jne 0x457909
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x457915
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004854d1
add esp, 8
test eax, eax
jle 0x457850
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp case.0x4572c8.43
mov ecx, dword [0x4a7918]
mov al, byte [ecx + 0xd2]
push esi
test al, al
jne 0x45794a
mov edx, dword [ebp - 0x1c]
push edx
call fcn.00485381
jmp 0x457963
cmp al, 2
jne 0x45795a
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x457966
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.004854d1
add esp, 8
test eax, eax
jns 0x457850
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp case.0x4572c8.43
mov edx, dword [0x4a7918]
mov al, byte [edx + 0xd2]
push esi
test al, al
jne 0x45799b
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00485381
jmp 0x4579b4
cmp al, 2
jne 0x4579ab
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x4579b7
mov edx, dword [ebp - 0x1c]
push edx
call fcn.004854d1
add esp, 8
cmp eax, 0xffffffff
jle 0x457850
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp case.0x4572c8.43
mov eax, dword [0x4a7918]
mov al, byte [eax + 0xd2]
push esi
test al, al
jne 0x4579ec
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.00485381
jmp 0x457a05
cmp al, 2
jne 0x4579fc
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x457a08
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004854d1
add esp, 8
cmp eax, 1
jge 0x457850
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp case.0x4572c8.43
cmp dword [edi + 8], 4
jne 0x457a31
mov eax, dword [edi]
call fcn.004133a0
jmp 0x457a3f
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x457a36
sub eax, edx
cmp dword [ebp - 0x58], 0
mov dword [ebp - 0x24], eax
je 0x457a69
mov ecx, eax
mov eax, dword [ebp - 0x58]
push ecx
push esi
call fcn.004758a0
test eax, eax
je 0x457a69
mov edx, dword [ebp - 0x58]
mov dword [ebx], edx
mov dword [ebx + 8], 4
jmp 0x457472
mov eax, dword [ebp - 0x48]
cmp dword [eax + 8], 4
jne 0x457a7d
mov ecx, eax
mov eax, dword [ecx]
call fcn.004133a0
jmp 0x457a8c
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x457a83
sub eax, edx
cmp dword [ebp - 0x58], 0
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x74], eax
lea eax, [eax + edx + 1]
mov dword [ebp - 0x14], eax
jne 0x457c64
cmp dword [ebp - 0x70], 0
je 0x457ac4
cmp dword [ebp - 0x18], 0
jne 0x457ac4
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x18], 0x41
jne 0x457ac4
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x60], 1
jmp 0x457b09
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x18], 0x13
jne 0x457c64
cmp dword [ebp - 0x18], 0
je 0x457c64
mov eax, dword [ebp - 0x50]
mov eax, dword [eax - 4]
cmp dword [eax + 8], 4
jne 0x457c64
mov esi, dword [eax]
mov al, byte [esi + 0x17]
test al, al
jne 0x457afa
mov ecx, dword [esi + 0xc]
mov al, byte [ecx + 0x17]
cmp al, 1
jne 0x457c64
mov dword [ebp - 0x60], 0
test esi, esi
je 0x457c64
cmp byte [esi + 0x17], 0
jne 0x457b1c
mov eax, dword [esi + 0xc]
jmp 0x457b1e
mov eax, esi
mov cl, byte [eax + 0x17]
cmp cl, 1
jne 0x457b2b
mov eax, dword [eax + 8]
jmp 0x457b35
cmp cl, 2
jne 0x457b3c
call fcn.00401000
cmp eax, 0x4acb37
jne 0x457b3e
xor eax, eax
cmp eax, dword [ebp - 0x1c]
jne 0x457b91
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
push edx
push eax
mov eax, esi
call fcn.004758a0
test eax, eax
je 0x457c64
cmp dword [ebp - 0x60], 0
jne case.0x4580f8.3
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x1c]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebx + 0xc], ecx
mov edx, dword [ebp + eax*4 - 0xcb4]
mov dword [ebp - 0x18], eax
mov eax, dword [edx]
mov dword [ebx], eax
mov dword [ebx + 8], 4
jmp 0x457472
cmp eax, dword [ebp - 0x4c]
je 0x457c64
mov ecx, dword [ebp - 0x14]
push 1
push 0
dec ecx
push ecx
push 0
push esi
call fcn.00475240
test eax, eax
je 0x458238
cmp byte [esi + 0x17], 0
jne 0x457bbe
mov edi, dword [esi + 0xc]
jmp 0x457bc0
mov edi, esi
test byte [edi + 0x15], 8
je 0x457bcd
mov eax, edi
call fcn.00401150
mov al, byte [edi + 0x17]
cmp al, 1
jne 0x457be6
test byte [edi + 0x15], 4
je 0x457be1
mov eax, edi
call fcn.0042dec0
mov edi, dword [edi + 8]
jmp 0x457bf8
cmp al, 2
jne 0x457bf3
call fcn.00401000
mov edi, eax
jmp 0x457bf8
mov edi, 0x4acb37
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x457c10
mov edx, dword [ebp - 0x1c]
push eax
push edx
push edi
call fcn.0048dc80
mov eax, dword [ebp - 0x74]
add esp, 0xc
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x4c]
inc ecx
push ecx
push edx
add eax, edi
push eax
call fcn.0048dc80
add esp, 0xc
push 0
mov eax, esi
call fcn.00413430
cmp dword [ebp - 0x60], 0
jne case.0x4580f8.3
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov eax, dword [eax + 0xc]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0xcb8]
mov edx, dword [ecx]
dec eax
mov dword [ebp - 0x18], eax
mov dword [ebx], edx
mov dword [ebx + 8], 4
jmp 0x457472
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp + 0x20]
sub edx, eax
add edx, dword [ecx]
mov ecx, dword [ebp - 0x14]
cmp ecx, edx
ja 0x457c83
mov dword [ebx], eax
add eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x457cd7
cmp ecx, 0x1001
jae 0x457ca7
cmp dword [ebp - 0x44], 0x9c40
jae 0x457ca7
mov esi, dword [ebp - 0x14]
mov eax, esi
call fcn.0048edb0
add dword [ebp - 0x44], esi
mov eax, esp
mov dword [ebx], eax
jmp 0x457cd7
cmp dword [ebp - 0x2c], 0xc8
je 0x45801b
mov edx, dword [ebp - 0x14]
push edx
call fcn.00485539
mov ecx, dword [ebp - 0x2c]
add esp, 4
mov dword [ebp + ecx*4 - 0x4b4], eax
mov dword [ebx], eax
test eax, eax
je 0x45801b
inc dword [ebp - 0x2c]
mov esi, dword [ebp - 0x74]
test esi, esi
je 0x457cee
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebx]
push esi
push edx
push eax
call fcn.0048dc80
add esp, 0xc
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebx]
inc ecx
push ecx
push edx
add eax, esi
push eax
call fcn.0048dc80
mov ecx, dword [ebp - 0x48]
xor eax, eax
add esp, 0xc
cmp dword [ecx + 8], eax
je 0x457d22
cmp dword [edi + 8], eax
je 0x457d22
mov dword [ebp - 0x14], 5
mov dword [ebx + 4], eax
jmp case.0x4572c8.43
mov dword [ebp - 0x14], eax
jmp case.0x4572c8.43
mov eax, dword [ebx]
push 0
call fcn.00412f50
jmp case.0x45748b.1
cmp dword [ebx + 4], 0
je 0x457d42
mov eax, 1
jmp case.0x45748b.1
push 0
push 1
push 0
push 1
xor ecx, ecx
mov eax, ebx
call fcn.0044d3d0
call fcn.00472320
add esp, 0x10
jmp case.0x45748b.1
xor eax, eax
dec eax
je 0x457e3f
dec eax
mov eax, dword [ebx + 8]
je 0x457da3
cmp eax, 6
je 0x457ee5
cmp eax, 4
jne 0x457d8f
mov eax, dword [ebx]
cmp byte [eax + 0x17], 0
jne 0x457d85
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 2
jne 0x457ee5
xor ecx, ecx
mov eax, ebx
call fcn.0044d3d0
xor ecx, ecx
cmp byte [eax], cl
setne cl
mov esi, ecx
jmp 0x457dea
dec eax
cmp eax, 5
ja case.0x457da9.3
jmp dword [eax*4 + 0x458584]
fild qword [ebx]
jmp 0x457dd9
fld qword [ebx]
jmp 0x457dd9
mov eax, dword [ebx]
push 1
call fcn.004130b0
jmp 0x457dd9
mov eax, dword [ebx + 4]
test eax, eax
je case.0x457da9.3
fild qword [eax]
jmp 0x457dd9
mov edx, dword [ebx]
push edx
call fcn.004873bf
add esp, 4
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x457ee5
xor esi, esi
cmp dword [ebx + 8], 6
jne 0x457dfa
mov eax, dword [ebx]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [ebx + 0xc]
cmp dword [ecx + 8], 0x20
je 0x457f38
xor eax, eax
cmp dword [ecx + 8], 0x21
sete al
cmp esi, eax
jne 0x457f3f
mov dword [ebp - 0x20], ecx
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x457e28
cmp dword [ecx + 8], 0x20
jne 0x457e07
mov eax, esi
cdq
mov dword [ebx + 8], 1
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 0xc], ecx
jmp 0x457472
mov eax, dword [ebx + 8]
dec eax
cmp eax, 5
ja case.0x457e48.3
jmp dword [eax*4 + 0x45859c]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
jmp 0x457edd
mov ecx, dword [ebx + 4]
test ecx, ecx
je case.0x457e48.3
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
jmp 0x457edd
fld qword [ebx]
call fcn.00493d76
jmp 0x457edd
mov eax, dword [ebx]
push 1
call fcn.00412ff0
jmp 0x457edd
mov esi, dword [ebx]
mov eax, esi
mov cl, byte [eax]
cmp cl, 0x20
je 0x457e8e
cmp cl, 9
jne 0x457e91
inc eax
jmp 0x457e82
mov cl, byte [eax]
test cl, cl
je 0x457ed4
cmp cl, 0x2d
je 0x457ea1
cmp cl, 0x2b
jne 0x457ea2
inc eax
cmp byte [eax], 0x30
jne 0x457ed4
mov cl, byte [eax + 1]
cmp cl, 0x78
je 0x457eb4
cmp cl, 0x58
jne 0x457ed4
movsx eax, byte [eax + 2]
push eax
call fcn.00486aa9
add esp, 4
test eax, eax
je 0x457ed4
push 0x10
push 0
push esi
call fcn.004872bd
add esp, 0xc
jmp 0x457edd
push esi
call fcn.00486911
add esp, 4
or eax, edx
je case.0x457e48.6
mov esi, 1
jmp 0x457dea
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x18]
cmp esi, edi
jle 0x457f1c
lea esp, [esp]
mov eax, dword [ebp + esi*4 - 0xcb8]
dec esi
cmp dword [eax + 8], 6
jne 0x457f18
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp esi, edi
jg 0x457f00
mov esi, dword [ebp - 0x20]
mov dword [ebp + edi*4 - 0xcb4], ebx
mov ebx, dword [ebp + 0x18]
inc edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x6c], edi
add esi, 0x10
jmp 0x456433
test esi, esi
jne 0x457f3f
mov dword [ebp - 0x20], ecx
mov esi, dword [ebp - 0x20]
mov ebx, dword [ebp + 0x18]
add esi, 0x10
jmp 0x456433
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x18]
mov ecx, dword [ebp + 8]
push edx
push esi
jmp 0x45822e
cmp dword [esi], 1
je 0x457f68
mov dword [ebp - 0x34], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x40]
test eax, eax
je case.0x4580f8.3
lea ecx, [ebp - 0x38]
push ecx
lea edx, [ebp - 0x3c]
push edx
push eax
call fcn.00475b40
add esp, 0xc
jmp case.0x4580f8.3
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x457f68
push ebx
call fcn.00485398
add esp, 4
jmp 0x457f68
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 4]
push edx
push 0
push str.Out_of_memory.
call fcn.0042d690
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x458238
lea ecx, [ebp - 0x38]
push ecx
lea edx, [ebp - 0x3c]
push edx
push eax
call fcn.00475b40
add esp, 0xc
jmp 0x458238
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp + 8]
push 0
push str.Out_of_memory.
call fcn.0042d690
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x458238
lea edx, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x3c]
push ecx
push eax
call fcn.00475b40
add esp, 0xc
jmp 0x458238
mov ecx, dword [ebp + 8]
jmp 0x458227
mov edx, dword [ebp + 8]
mov cl, byte [edx]
cmp cl, 3
je case.0x4580f8.3
cmp dword [ebp - 0x18], 1
jne 0x456682
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0xcb4]
mov edi, eax
test edx, edx
je 0x45805e
mov ebx, edx
call fcn.00474b90
test eax, eax
je 0x458238
jmp case.0x4580f8.3
cmp cl, 0x11
je 0x458307
cmp cl, 0x6b
je 0x458307
cmp cl, 0x6c
je 0x458307
mov edx, dword [ebp + 0x14]
test edx, edx
je 0x4580e7
mov ecx, dword [eax + 8]
cmp ecx, 1
je 0x4580d0
cmp ecx, 2
je 0x4580d0
cmp ecx, 6
je 0x4580d0
cmp ecx, 4
jne 0x4580e7
mov ecx, dword [eax]
cmp byte [ecx + 0x17], 0
jne 0x4580a2
mov ecx, dword [ecx + 0xc]
test byte [ecx + 0x15], 2
je 0x4580e7
mov dword [edx + 8], 6
mov eax, dword [eax]
cmp byte [eax + 0x17], 0
jne 0x4580ba
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [edx], eax
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, 0x499869
jmp 0x45836f
mov dword [edx + 8], ecx
mov ecx, dword [eax]
mov dword [edx], ecx
mov eax, dword [eax + 4]
mov dword [edx + 4], eax
mov eax, 0x499869
jmp 0x45836f
mov ecx, dword [ebx]
mov dword [ebp - 0x34], ecx
mov ecx, dword [eax + 8]
cmp ecx, 6
ja case.0x4580f8.3
jmp dword [ecx*4 + 0x4585b4]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov edi, dword [ebp - 0x34]
push edx
push eax
call fcn.00401050
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x458114
sub eax, edx
inc eax
add dword [ebx], eax
jmp case.0x4580f8.3
mov ecx, dword [0x4a7918]
fld qword [eax]
mov edi, dword [ebp - 0x34]
sub esp, 8
add ecx, 0x74
fstp qword [esp]
push ecx
mov esi, 0x100
call fcn.00472490
lea edx, [eax + 1]
mov eax, dword [ebp + 0x18]
add esp, 0xc
add dword [eax], edx
jmp case.0x4580f8.3
cmp ecx, 4
jne 0x4581c0
mov eax, dword [eax]
cmp byte [eax + 0x17], 0
jne 0x458166
mov esi, dword [eax + 0xc]
jmp 0x458168
mov esi, eax
test byte [esi + 0x15], 8
je 0x458175
mov eax, esi
call fcn.00401150
mov al, byte [esi + 0x17]
cmp al, 1
jne 0x458198
test byte [esi + 0x15], 4
je 0x458189
mov eax, esi
call fcn.0042dec0
mov esi, dword [esi + 8]
mov eax, dword [edi]
mov dword [ebp + 0x14], esi
call fcn.004133a0
jmp 0x4581d9
cmp al, 2
jne 0x4581af
call fcn.00401000
mov esi, eax
mov dword [ebp + 0x14], eax
mov eax, dword [edi]
call fcn.004133a0
jmp 0x4581d9
mov eax, dword [edi]
mov esi, 0x4acb37
mov dword [ebp + 0x14], esi
call fcn.004133a0
jmp 0x4581d9
mov esi, dword [eax]
mov eax, esi
mov dword [ebp + 0x14], esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4581d0
sub eax, edx
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 8]
lea edi, [eax + 1]
mov eax, dword [ebp + 0xc]
add eax, eax
movzx eax, word [ecx + eax*8 + 2]
mov edx, 0xff
mov dword [ebp - 0x14], edi
cmp ax, dx
jae 0x4581fb
mov eax, edx
mov ecx, dword [ebp + 0x28]
lea eax, [eax + ecx + 1]
cmp edi, eax
jbe 0x4582ec
mov edx, dword [ebp + 0x20]
mov esi, dword [edx]
sub esi, eax
add esi, edi
push esi
mov dword [ebp + 8], esi
call fcn.00485539
mov edi, eax
add esp, 4
test edi, edi
jne 0x45824d
mov ecx, ebx
push 0x499869
push 0
push str.Out_of_memory.
call fcn.0042d690
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x34], 0
mov dword [eax], 0
jmp case.0x4580f8.3
cmp esi, 0x400000
jbe 0x45825b
inc dword [0x4ad1e0]
mov ebx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebx]
mov esi, dword [ecx]
sub esi, eax
je 0x458274
push esi
push eax
push edi
call fcn.0048dc80
add esp, 0xc
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x14]
lea eax, [esi + edi]
mov dword [edx], eax
mov edx, dword [ebp + 0x14]
push ecx
push edx
push eax
mov dword [ebp - 0x34], eax
call fcn.0048dc80
mov eax, dword [ebx]
add esp, 0xc
push eax
call fcn.00485398
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx]
add esp, 4
cmp eax, 0x400000
jbe 0x4582ad
dec dword [0x4ad1e0]
mov esi, dword [ebx]
xor ecx, ecx
add esi, eax
cmp dword [ebp + 0xc], ecx
jle 0x4582d8
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + ecx*4]
mov edx, dword [ebx]
cmp eax, edx
jb 0x4582d2
cmp eax, esi
jae 0x4582d2
sub eax, edx
mov edx, dword [ebp + 0x24]
add eax, edi
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, dword [ebp + 0xc]
jl 0x4582b8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x20]
mov dword [ebx], edi
mov edi, dword [ebp - 0x14]
mov dword [ecx], eax
mov eax, dword [ebp + 0x18]
add dword [eax], edi
jmp case.0x4580f8.3
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
cmp eax, esi
je 0x458300
push edi
push esi
push eax
call fcn.00485f60
add esp, 0xc
mov eax, dword [ebp + 0x18]
add dword [eax], edi
jmp case.0x4580f8.3
mov ecx, dword [eax + 8]
cmp ecx, 6
ja case.0x458313.3
jmp dword [ecx*4 + 0x4585d0]
mov ecx, dword [eax]
or ecx, dword [eax + 4]
jne case.0x458313.6
mov dword [ebp - 0x34], 0x499869
mov esi, dword [ebp - 0x2c]
test esi, esi
je 0x458348
mov eax, dword [ebp + esi*4 - 0x4b8]
dec esi
push eax
call fcn.00485398
add esp, 4
test esi, esi
jne 0x458333
mov esi, dword [ebp - 0x6c]
test esi, esi
je 0x45836c
nop
mov eax, dword [ebp + esi*4 - 0xcb8]
dec esi
cmp dword [eax + 8], 6
jne 0x458368
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
test esi, esi
jne 0x458350
mov eax, dword [ebp - 0x34]
lea esp, [ebp - 0xdc4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
fld qword [eax]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp case.0x458313.6
jmp case.0x4580f8.6
mov ecx, dword [eax + 4]
test ecx, ecx
je case.0x458313.0
mov edx, dword [ecx]
or edx, dword [ecx + 4]
jmp 0x45831f
mov eax, dword [eax]
call fcn.0044cf40
jmp 0x4583bd
mov esi, dword [eax]
call fcn.0044cfa0
jmp 0x4583bd
mov eax, dword [ebp + 8]
test eax, eax
je case.0x4580f8.6
mov dword [ebp - 0x34], 0x49afb8
jmp case.0x4580f8.3