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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49cd08
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfac
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx]
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x14]
push ebx
mov dword [ebp - 0x50], ecx
xor ecx, ecx
push esi
push edi
xor edi, edi
cmp byte [eax], 2
mov eax, dword [eax + 8]
setne cl
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], 0x4a9e04
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x34], edi
dec ecx
and ecx, dword [0x4c4f08]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp + 0xc]
shl ecx, 4
mov ebx, dword [ecx + eax + 0xc]
lea eax, [ecx + eax + 0xc]
cmp dword [ebx + 8], 0x41
mov dword [ebp - 0x24], ebx
je 0x45a3a4
mov eax, 0x10
call fcn.00497d00
mov ecx, dword [ebx]
mov esi, esp
mov dword [esi], ecx
mov edx, dword [ebx + 4]
mov dword [esi + 4], edx
mov eax, dword [ebx + 8]
mov dword [esi + 8], eax
mov ecx, dword [ebx + 0xc]
mov dword [esi + 0xc], ecx
mov eax, dword [esi + 8]
cmp eax, 8
jge 0x458bf3
cmp eax, 7
jne 0x45a1ea
mov eax, dword [esi + 4]
xor ebx, ebx
cmp eax, ebx
je 0x458a2a
mov ecx, dword [esi]
xor edi, edi
mov ebx, eax
mov dword [esi], 0x4a9e04
mov dword [esi + 8], edi
mov eax, dword [ecx]
mov dword [ebp - 0x18], ecx
cmp eax, ebx
jne 0x4587e6
movzx edx, word [ecx + 0xa]
cmp word [ebx + edx*2], di
jne 0x4587e6
cmp byte [ecx + 0x14], 0
je 0x4587e6
mov edx, dword [ecx + 4]
cmp byte [edx + 0x17], 0
jne 0x4587bc
mov edx, dword [edx + 0xc]
test byte [edx + 0x15], 2
je 0x4587e6
mov dword [esi + 8], 6
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0x17], 0
jne 0x4587d5
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx]
mov dword [esi], eax
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
jmp 0x45a1ea
test eax, eax
je 0x4588fe
cmp ebx, eax
mov eax, dword [ebp - 0x18]
jae 0x458810
cmp edi, 0xfd
jae 0x458818
mov cx, word [ebx]
mov word [ebp + edi*2 - 0x294], cx
add ebx, 2
inc edi
cmp ebx, dword [eax]
jb 0x4587f5
cmp edi, 0xfd
jb 0x458823
cmp ebx, dword [eax]
jb 0x45897c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
movzx eax, byte [eax + 0x17]
cmp eax, 3
ja case.default.0x458832
jmp dword [eax*4 + 0x45a788]
mov eax, dword [ebp - 0x14]
call fcn.00401160
cmp dword [0x4c50d4], 0
jne 0x458885
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xc], 0
jne 0x458885
push 0
lea eax, [ebp - 0x8c]
mov ecx, edx
mov edx, dword [ecx + 0x18]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x458879
mov dword [0x4c85a8], 0
dec eax
jmp 0x4588c0
mov eax, dword [ebp - 0x14]
mov dword [0x4c85a8], eax
xor eax, eax
jmp 0x4588c0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0xc]
shr eax, 1
jmp 0x4588c0
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0xc]
push 0
call fcn.004762c0
jmp 0x4588c0
xor ecx, ecx
call fcn.00403b10
cmp eax, 0xffffffff
jne 0x4588c0
xor eax, eax
jmp 0x4588c0
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x10]
push ecx
push 0
call edx
add esp, 8
mov ecx, 0xfd
sub ecx, edi
cmp eax, ecx
ja 0x45897c
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
lea edx, [ebp + edi*2 - 0x294]
push edx
call fcn.004762c0
add edi, eax
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0xa]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov eax, dword [eax]
lea ebx, [ebx + ecx*2]
test eax, eax
jne 0x4587ee
movzx eax, word [ebx]
test ax, ax
je 0x458922
cmp edi, 0xfd
jae 0x45892a
add ebx, 2
mov word [ebp + edi*2 - 0x294], ax
movzx eax, word [ebx]
inc edi
test ax, ax
jne 0x458906
cmp edi, 0xfd
jb 0x458930
cmp word [ebx], 0
jne 0x45897c
mov eax, dword [ebp - 0x18]
test edi, edi
jne 0x45893d
cmp byte [eax + 8], 0
je 0x45897f
xor edx, edx
mov word [ebp + edi*2 - 0x294], dx
cmp byte [eax + 8], dl
je 0x4589cb
lea eax, [edi + edi + 2]
mov dword [esi + 8], edx
call fcn.00493ae0
mov edi, esp
lea eax, [ebp - 0x294]
mov edx, edi
mov ecx, eax
sub edx, ecx
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x458966
mov dword [esi], edi
jmp 0x45a1ea
mov eax, dword [ebp - 0x18]
cmp dword [eax], 0
je 0x45898c
add eax, 0xc
cmp dword [eax], 0
jne 0x458984
cmp byte [eax + 8], 0
je 0x45a1ea
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je case.0x45a478.3
mov eax, dword [ebp - 0x2c]
test eax, eax
je case.0x45a478.3
push 1
push 0
push 0xffffffffffffffff
push eax
push ecx
call fcn.00475ef0
test eax, eax
jne case.0x45a478.3
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
jmp case.0x45a478.3
cmp word [ebp - 0x294], dx
je 0x45a5d3
lea edx, [ebp - 0x49]
push edx
push 3
lea eax, [ebp - 0x90]
push eax
push edi
lea ecx, [ebp - 0x294]
push ecx
mov ecx, 0x4c70d0
call fcn.00420bc0
test eax, eax
jne 0x458a26
mov eax, dword [ebp - 0x90]
xor edx, edx
cmp byte [ebp - 0x49], dl
mov ecx, edi
setne dl
inc edx
push edx
push eax
push 0x4c70d0
lea edx, [ebp - 0x294]
call fcn.00420e60
test eax, eax
je 0x45a5d3
mov dword [esi], eax
xor ebx, ebx
mov edi, dword [esi]
mov al, byte [edi + 0x17]
test al, al
jne 0x458a39
mov ecx, dword [edi + 0xc]
mov al, byte [ecx + 0x17]
movzx eax, al
mov ecx, 1
sub eax, ecx
je 0x458a89
sub eax, 3
jne 0x458abc
mov eax, dword [edi + 0x10]
cmp eax, 0x446b60
jne 0x458a6c
mov eax, dword [0x4c140c]
mov edx, dword [eax + 8]
mov dword [esi], edx
mov eax, dword [eax + 0xc]
mov dword [esi + 4], eax
mov dword [esi + 8], ecx
jmp 0x45a1ea
cmp eax, 0x4472b0
jne 0x458abc
mov edx, dword [0x4c140c]
mov eax, dword [edx + 0x38]
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], ecx
jmp 0x45a1ea
cmp dword [0x4c50d4], ebx
jne 0x45a1e3
cmp byte [edi + 0x17], 0
jne 0x458aa0
mov eax, dword [edi + 0xc]
jmp 0x458aa2
mov eax, edi
test byte [eax + 0x15], 0xa
jne 0x45a1e3
xor ecx, ecx
cmp dword [eax + 0xc], ebx
setne cl
cmp ecx, ebx
jne 0x45a1e3
movzx eax, byte [edi + 0x17]
cmp eax, 3
ja case.default.0x458ac5
jmp dword [eax*4 + 0x45a798]
mov eax, edi
call fcn.00401160
cmp dword [0x4c50d4], ebx
jne 0x458b09
cmp dword [edi + 0xc], ebx
jne 0x458b09
mov eax, dword [edi + 0x18]
push ebx
lea edx, [ebp - 0x88]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp eax, ebx
je 0x458aff
mov dword [0x4c85a8], ebx
dec eax
jmp 0x458b38
mov dword [0x4c85a8], edi
xor eax, eax
jmp 0x458b38
mov eax, dword [edi + 0xc]
shr eax, 1
jmp 0x458b38
mov ecx, dword [edi + 0xc]
push ebx
call fcn.004762c0
jmp 0x458b38
xor ecx, ecx
call fcn.00403b10
cmp eax, 0xffffffff
jne 0x458b38
xor eax, eax
jmp 0x458b38
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
push ecx
push ebx
call edx
add esp, 8
lea edi, [eax + 1]
cmp edi, 1
jne 0x458b66
mov eax, dword [esi]
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x458b4f
mov eax, dword [eax + 0xc]
mov cl, byte [eax + 0x17]
cmp cl, 1
je 0x45a1e3
mov dword [esi], 0x4a9e04
mov dword [esi + 8], ebx
jmp 0x45a1ea
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp + 0x1c]
mov ecx, eax
sub ecx, dword [edx]
mov edx, dword [ebp + 0x20]
mov edx, dword [edx]
sar ecx, 1
sub edx, ecx
cmp edi, edx
ja 0x458b87
mov ebx, eax
lea eax, [eax + edi*2]
mov dword [ebp - 0x50], eax
jmp 0x458bd6
cmp edi, 0x1001
jae 0x458ba7
cmp dword [ebp - 0x34], 0x9c40
jae 0x458ba7
lea eax, [edi + edi]
call fcn.00493ae0
add dword [ebp - 0x34], edi
mov ebx, esp
jmp 0x458bd6
mov ebx, dword [ebp - 0x28]
cmp ebx, 0xc8
je 0x45a2f0
lea ecx, [edi + edi]
push ecx
call fcn.0048c5a4
add esp, 4
mov dword [ebp + ebx*4 - 0x5b4], eax
test eax, eax
je 0x45a2f0
inc dword [ebp - 0x28]
mov ebx, eax
mov ecx, dword [esi]
push ebx
call fcn.004762c0
mov dword [esi], ebx
mov dword [esi + 4], 0
mov dword [esi + 8], 5
jmp 0x45a1ea
cmp eax, 0x3e
jne 0x459010
mov eax, dword [esi]
mov ecx, dword [eax + 4]
movzx eax, byte [eax + 9]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x20], eax
cmp eax, edi
jg 0x458996
sub edi, eax
mov dword [ebp - 0x1c], edi
lea ebx, [ebp + edi*4 - 0xdb4]
test ecx, ecx
jne 0x458cb2
test edi, edi
je 0x458996
mov eax, edi
dec eax
mov edi, dword [ebp + eax*4 - 0xdb4]
mov dword [ebp - 0x1c], eax
lea eax, [ebp + eax*4 - 0xdb4]
call fcn.00450180
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x458c9b
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x458c6e
lea edx, [edi*4]
push edx
lea eax, [ebx + 4]
push ebx
push eax
call fcn.0048cf90
add esp, 0xc
inc dword [ebp - 0x58]
mov eax, 0x10
call fcn.00497d00
mov eax, esp
mov dword [ebx], eax
mov dword [eax + 8], 0
mov ecx, dword [ebx]
sub ebx, 4
add edi, 2
mov dword [ecx], 0x4a9e04
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x14], 0x4c27d8
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
cmp edx, dword [eax + 0x14]
jge 0x458cb2
mov ecx, dword [esi]
cmp byte [ecx + 8], 2
jne 0x458996
mov edi, dword [esi + 0xc]
xor eax, eax
lea edx, [ebp - 0x294]
mov dword [esi + 4], edx
mov dword [ebp - 0x40], edi
mov dword [esi + 0xc], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 4], eax
mov eax, dword [esi]
cmp byte [eax + 8], 2
mov eax, dword [ebp - 0x20]
sete cl
movzx edx, cl
push edx
mov edx, dword [ebp - 0x14]
push eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push ebx
lea ecx, [ebp - 0x68]
push ecx
push edx
call fcn.0045a970
test al, al
je 0x45a2fb
mov ecx, dword [ebp + 8]
mov dword [0x4c7700], ecx
mov eax, dword [esi + 8]
cmp eax, 1
je 0x458fe5
cmp eax, 2
je 0x458fe5
cmp eax, 6
je 0x458fe5
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x458d4a
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0x18], 0x41
jne 0x458d4a
cmp byte [ecx], 3
mov dword [ebp - 0x20], 1
je 0x45a32f
mov ebx, dword [ebp - 0x5c]
jmp 0x458d83
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0x18], 0x13
mov dword [ebp - 0x20], 0
jne 0x458d81
test eax, eax
je 0x458d81
lea eax, [ebp + eax*4 - 0xdb4]
mov eax, dword [eax - 4]
cmp dword [eax + 8], 4
jne 0x458d81
mov ebx, dword [eax]
mov al, byte [ebx + 0x17]
test al, al
jne 0x458d7d
mov eax, dword [ebx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
je 0x458d83
xor ebx, ebx
mov edi, dword [esi]
test ebx, ebx
je 0x458e54
mov edx, dword [0x4c140c]
mov eax, dword [ebp - 0x14]
cmp dword [edx + 0xb4], eax
jne 0x458dad
mov dl, byte [ebx + 0x16]
and dl, 0x22
cmp dl, 2
je 0x458e54
mov ecx, dword [esi + 0xc]
cmp ecx, edi
jne 0x458dc3
mov eax, dword [esi + 4]
push eax
mov edi, ecx
mov eax, ebx
call fcn.004765e0
jmp 0x458e1b
mov eax, edi
lea edx, [eax + 2]
jmp 0x458dd0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x458dd0
mov ecx, dword [esi]
sub eax, edx
sar eax, 1
cmp ecx, dword [0x4c7028]
jne 0x458e06
cmp eax, 0x40
jb 0x458e06
push eax
mov edi, ecx
mov eax, ebx
call fcn.004765e0
xor eax, eax
mov dword [0x4c7028], eax
mov dword [0x4c702c], eax
jmp 0x458e1b
push 1
push 0
push 0xffffffffffffffff
push ecx
push ebx
call fcn.00475ef0
test eax, eax
je 0x45a366
cmp dword [ebp - 0x20], 0
jne 0x45a33f
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x1c]
dec dword [ebp - 0x1c]
add eax, 0x10
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x68]
mov dword [esi + 0xc], ecx
mov dword [esi], ebx
mov dword [esi + 8], 4
mov dword [ebp - 4], 0xffffffff
call fcn.0045ad90
jmp 0x45a1ea
mov edx, dword [esi + 0xc]
mov ebx, 1
test edx, edx
je 0x458e7f
mov eax, dword [ebp - 0x28]
cmp eax, 0xc8
je 0x45a353
cmp edx, edi
jne 0x458e74
xor ebx, ebx
mov dword [ebp + eax*4 - 0x5b4], edx
inc eax
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [esi]
mov dword [esi + 0xc], edx
cmp word [eax], 0
jne 0x458eb5
lea eax, [ebp - 0x68]
mov dword [esi], 0x4a9e04
mov dword [esi + 8], 5
mov dword [esi + 4], 0
mov dword [ebp - 4], 0xffffffff
call fcn.0045ad90
jmp 0x45a1ea
mov ecx, dword [ebp - 0x14]
cmp byte [ecx + 0x3d], 0
je 0x458ecc
test ebx, ebx
je 0x458f07
xor ebx, ebx
cmp dword [ebp - 0x20], ebx
sete bl
jmp 0x458f07
cmp edi, dword [0x4c7028]
jne 0x458f02
xor ebx, ebx
cmp dword [ebp - 0x20], ebx
jne 0x458f07
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x18]
add ecx, 0x18
cmp eax, 0x41
je 0x458f07
lea esp, [esp]
cmp eax, 0x3e
je 0x458f02
mov eax, dword [ecx + 0x10]
add ecx, 0x10
cmp eax, 0x41
jne 0x458ef0
jmp 0x458f07
mov ebx, 1
mov eax, dword [esi]
mov dword [esi + 4], 0
mov dword [esi + 8], 5
test ebx, ebx
je 0x458fcf
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x458f22
mov edi, dword [ebp - 0x50]
mov ecx, dword [ebp + 0x20]
sub eax, edx
sar eax, 1
lea ebx, [eax + 1]
mov eax, dword [ebp + 0x1c]
mov edx, edi
sub edx, dword [eax]
mov eax, dword [ecx]
sar edx, 1
sub eax, edx
cmp ebx, eax
ja 0x458f61
mov eax, dword [esi]
add ebx, ebx
push ebx
push eax
push edi
call fcn.00494890
add esp, 0xc
add edi, ebx
mov dword [ebp - 0x50], edi
jmp 0x458fcf
cmp ebx, 0x1001
jae 0x458f91
cmp dword [ebp - 0x34], 0x9c40
jae 0x458f91
lea eax, [ebx + ebx]
call fcn.00493ae0
mov eax, esp
lea ecx, [ebx + ebx]
push ecx
mov ecx, dword [esi]
push ecx
push eax
call fcn.00494890
add esp, 0xc
add dword [ebp - 0x34], ebx
jmp 0x458fcf
cmp dword [ebp - 0x28], 0xc8
je 0x45a37a
lea edx, [ebx + ebx]
push edx
call fcn.0048c5a4
mov ecx, dword [ebp - 0x28]
add esp, 4
mov dword [ebp + ecx*4 - 0x5b4], eax
test eax, eax
je 0x45a37a
mov ecx, dword [esi]
lea edx, [ebx + ebx]
push edx
push ecx
push eax
call fcn.00494890
add esp, 0xc
inc dword [ebp - 0x28]
mov dword [esi], eax
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 0xffffffff
call fcn.0045ad90
jmp 0x45a1ea
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x68]
mov dword [esi + 0xc], edi
test eax, eax
je 0x45a1ea
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x64]
push edx
push eax
call fcn.00476800
add esp, 0xc
jmp 0x45a1ea
cmp eax, 0x1f
jne 0x459053
cmp dword [esi + 0xc], 0
je 0x45a2d0
test edi, edi
je 0x45a2d0
dec edi
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp + edi*4 - 0xdb4]
mov eax, dword [edi]
mov dword [esi], eax
mov ecx, dword [edi + 4]
mov dword [esi + 4], ecx
mov edx, dword [edi + 8]
mov dword [esi + 8], edx
mov eax, dword [edi + 0xc]
mov dword [esi + 0xc], eax
mov ecx, dword [ebx + 0xc]
mov dword [esi + 0xc], ecx
jmp 0x45a1f4
test edi, edi
je 0x458996
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp + ecx*4 - 0xdb8]
dec ecx
cmp dword [edi + 8], 8
mov dword [ebp - 0x1c], ecx
jge 0x458996
cmp eax, 0x20
jne 0x4590ae
mov eax, dword [esi + 0xc]
test eax, eax
je 0x458996
mov edx, dword [eax + 0xc]
mov dword [edi + 0xc], edx
mov dword [ebp - 0x24], eax
mov eax, dword [edi]
mov dword [esi], eax
mov ecx, dword [edi + 4]
mov dword [esi + 4], ecx
mov edx, dword [edi + 8]
mov dword [esi + 8], edx
mov eax, dword [edi + 0xc]
mov dword [esi + 0xc], eax
mov dword [edi + 8], 1
jmp 0x45a1ea
add eax, 0xffffffee
cmp eax, 0x27
ja case.0x4590bd.20
movzx ecx, byte [eax + 0x45a7b0]
jmp dword [ecx*4 + 0x45a7a8]
mov eax, edi
call fcn.0044fcf0
mov ebx, eax
mov dword [ebp - 0x54], ebx
jmp 0x4590d5
mov ebx, dword [ebp - 0x54]
mov eax, dword [esi + 8]
xor edx, edx
lea ecx, [eax - 9]
mov dword [ebp - 0x48], edx
cmp ecx, 0x34
ja case.0x4590f0.11
movzx ecx, byte [ecx + 0x45a7f4]
jmp dword [ecx*4 + 0x45a7d8]
mov ecx, ebx
mov eax, edi
call fcn.0044fc30
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], 1
jmp 0x45a1ea
mov ecx, ebx
mov eax, edi
call fcn.0044fc30
test eax, eax
jne 0x459b0e
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
jmp 0x45a1ea
cmp ebx, 1
jne 0x45915b
push ebx
mov ecx, edi
call fcn.0044fe30
add esp, 4
neg eax
adc edx, 0
neg edx
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], ebx
jmp 0x45a1ea
cmp ebx, 2
jne 0x459358
push 1
push 0
mov eax, edi
call fcn.0044fec0
fchs
fstp qword [esi]
add esp, 8
mov dword [esi + 8], ebx
jmp 0x45a1ea
xor ecx, ecx
cmp eax, 0x3c
setge cl
mov dword [ebp - 0x40], ecx
mov ecx, dword [edi + 8]
cmp ecx, 4
jne 0x45946a
cmp ebx, edx
je 0x459242
cmp eax, 9
je 0x4591ae
mov dword [ebp - 0x20], 0xffffffff
cmp eax, 0x3c
jne 0x4591b5
mov dword [ebp - 0x20], 1
push 1
cmp ebx, 1
jne 0x4591e0
mov ecx, edi
call fcn.0044fe30
mov dword [esi], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 4], edx
add esp, 4
cdq
add eax, dword [esi]
adc edx, dword [esi + 4]
push edx
mov edx, dword [edi]
push eax
push edx
call fcn.00412a90
jmp 0x4591f9
push 0
mov eax, edi
call fcn.0044fec0
fst qword [esi]
fiadd dword [ebp - 0x20]
mov eax, dword [edi]
fstp qword [esp]
push eax
call fcn.00412ac0
cmp dword [ebp - 0x40], 0
je 0x458b5e
mov edi, dword [edi]
mov al, byte [edi + 0x17]
test al, al
jne 0x459212
mov ecx, dword [edi + 0xc]
mov al, byte [ecx + 0x17]
cmp al, 1
jne 0x45921d
mov dword [esi], edi
jmp 0x45a1e3
cmp ebx, 1
jne 0x459233
mov eax, dword [ebp - 0x20]
cdq
add dword [esi], eax
mov dword [esi + 8], ebx
adc dword [esi + 4], edx
jmp 0x45a1ea
fild dword [ebp - 0x20]
mov dword [esi + 8], ebx
fadd qword [esi]
fstp qword [esi]
jmp 0x45a1ea
cmp ecx, 4
jne 0x45946a
mov eax, dword [edi]
cmp byte [eax + 0x17], dl
jne 0x459257
mov ecx, dword [eax + 0xc]
jmp 0x459259
mov ecx, eax
test byte [ecx + 0x15], 4
je 0x459264
call fcn.00430310
mov ecx, dword [edi]
call fcn.00412a30
cmp dword [ebp - 0x40], 0
je 0x45946a
mov edi, dword [edi]
mov al, byte [edi + 0x17]
test al, al
jne 0x459284
mov edx, dword [edi + 0xc]
mov al, byte [edx + 0x17]
cmp al, 1
jne 0x45946a
mov dword [esi], edi
jmp 0x45a1e3
mov eax, dword [edi + 8]
cmp eax, 4
jne 0x45933b
mov eax, dword [edi]
cmp byte [eax + 0x17], dl
jne 0x4592ab
mov ecx, dword [eax + 0xc]
jmp 0x4592ad
mov ecx, eax
test byte [ecx + 0x15], 2
je 0x4592d1
mov dword [esi + 8], 1
mov edi, dword [edi]
cmp byte [edi + 0x17], dl
jne 0x4592c4
mov edi, dword [edi + 0xc]
mov eax, dword [edi]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x45a1ea
call fcn.00403520
mov dword [esi + 8], 1
mov edi, dword [edi]
cmp byte [edi + 0x17], 0
jne 0x4592e8
mov edi, dword [edi + 0xc]
test byte [edi + 0x15], 8
je 0x4592f5
mov eax, edi
call fcn.00401160
mov al, byte [edi + 0x17]
cmp al, 1
jne 0x459317
test byte [edi + 0x15], 4
je 0x459309
mov eax, edi
call fcn.00430310
mov eax, dword [edi + 8]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x45a1ea
cmp al, 2
jne 0x45932b
call fcn.00401000
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x45a1ea
mov eax, 0x4c7078
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x45a1ea
cmp eax, 6
jne 0x459358
mov dword [esi + 8], 1
mov eax, dword [edi]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x45a1ea
cmp ebx, edx
jne 0x459366
mov dword [esi], 0x4a9e04
mov dword [esi + 8], edx
jmp 0x45a1ea
xor eax, eax
cmp ebx, 1
sete al
mov ecx, edi
push eax
call fcn.0044fe30
add esp, 4
cmp dword [esi + 8], 0x38
jne 0x4593b6
test edx, edx
ja 0x4593a1
jb 0x45938a
cmp eax, 0xffffffff
ja 0x4593a1
not eax
mov dword [esi + 4], 0
mov dword [esi], eax
mov dword [esi + 8], 1
jmp 0x45a1ea
not eax
not edx
mov dword [esi + 4], edx
mov dword [esi], eax
mov dword [esi + 8], 1
jmp 0x45a1ea
cmp eax, 0x1000
jae 0x4593d1
xor eax, eax
cdq
mov dword [esi + 4], edx
mov dword [esi], eax
mov dword [esi + 8], 1
jmp 0x45a1ea
movzx eax, byte [eax]
cdq
mov dword [esi + 4], edx
mov dword [esi], eax
mov dword [esi + 8], 1
jmp 0x45a1ea
cmp dword [ebp - 0x1c], edx
je 0x458996
mov ecx, dword [ebp - 0x1c]
dec ecx
mov edx, dword [ebp + ecx*4 - 0xdb4]
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp + ecx*4 - 0xdb4]
mov dword [ebp - 0x38], ecx
mov ecx, dword [edx + 8]
mov dword [ebp - 0x30], edx
cmp ecx, 8
jge 0x458996
cmp eax, 0x12
jne 0x459453
mov ecx, dword [edx]
mov dword [esi], ecx
mov eax, dword [edx + 4]
mov dword [esi + 4], eax
mov ecx, dword [edx + 8]
mov eax, dword [ebp - 0x24]
mov dword [esi + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [esi + 0xc], edx
cmp dword [esi + 8], 6
mov ecx, dword [eax + 0xc]
mov dword [esi + 0xc], ecx
jne 0x45a1ea
mov eax, dword [esi]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x45a1ea
cmp eax, 0x1e
jg 0x459548
cmp eax, 0x13
jl 0x459548
cmp ecx, 4
je 0x45947c
mov dword [esi], 0x4a9e04
mov dword [esi + 8], 0
jmp 0x45a1ea
add eax, 0xffffffed
cmp eax, 0xb
ja case.default.0x459488
jmp dword [eax*4 + 0x45a82c]
mov ecx, dword [ebp - 0x30]
mov ebx, dword [ecx]
mov eax, edi
call fcn.00475810
test eax, eax
je 0x45a5d3
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4594b5
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 2
jne 0x459edb
mov edx, dword [edi]
mov dword [esi], edx
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov ecx, dword [edi + 8]
mov eax, dword [ebp - 0x24]
mov dword [esi + 8], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0xc], edx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0xc], ecx
jmp 0x45a1ea
mov dword [esi + 8], 0x31
jmp case.default.0x459488
mov dword [esi + 8], 0x32
jmp case.default.0x459488
mov dword [esi + 8], 0x33
jmp case.default.0x459488
mov dword [esi + 8], 0x34
jmp case.default.0x459488
mov dword [esi + 8], 0x35
jmp case.default.0x459488
mov dword [esi + 8], 0x2c
jmp case.default.0x459488
mov dword [esi + 8], 0x2d
jmp case.default.0x459488
mov dword [esi + 8], 0x2e
jmp case.default.0x459488
mov dword [esi + 8], 0x2f
jmp case.default.0x459488
mov dword [esi + 8], 0x30
jmp case.default.0x459488
mov dword [esi + 8], 0x2b
mov edx, dword [edx]
mov dword [ebp - 0x48], edx
cmp dword [esi + 8], 0x2b
je 0x459ac2
cmp dword [ebp - 0x54], 0
je 0x459ac2
mov eax, dword [ebp - 0x30]
call fcn.0044fcf0
mov ebx, eax
mov dword [ebp - 0x40], ebx
test ebx, ebx
je 0x459ac2
cmp dword [ebp - 0x54], 1
jne 0x459582
cmp ebx, 1
jne 0x459582
cmp dword [esi + 8], 0x34
jne 0x459597
mov eax, dword [esi + 8]
cmp eax, 0x30
jg 0x45986b
cmp eax, 0x2c
jl 0x45986b
xor eax, eax
cmp dword [ebp - 0x54], 1
mov ecx, edi
sete al
push eax
call fcn.0044fe30
xor ecx, ecx
add esp, 4
cmp dword [ebp - 0x40], 1
mov edi, eax
sete cl
mov ebx, edx
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], ebx
push ecx
mov ecx, dword [ebp - 0x30]
call fcn.0044fe30
mov ecx, dword [esi + 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.0x4595e9.43
jmp dword [ecx*4 + 0x45a85c]
add eax, edi
adc edx, ebx
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x14]
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
sub eax, edi
sbb edx, ebx
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x14]
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
push ebx
push edi
push edx
push eax
call fcn.00492a50
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x14]
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
cmp eax, edi
jne 0x459650
cmp edx, ebx
jne 0x459650
mov edx, dword [ebp - 0x14]
mov eax, 1
xor ecx, ecx
mov dword [esi + 4], ecx
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
mov edx, dword [ebp - 0x14]
xor eax, eax
xor ecx, ecx
mov dword [esi + 4], ecx
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
cmp eax, edi
jne 0x45966c
cmp edx, ebx
je 0x459650
mov edx, dword [ebp - 0x14]
mov eax, 1
xor ecx, ecx
mov dword [esi + 4], ecx
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
cmp edx, ebx
jl 0x459650
jg 0x45968d
cmp eax, edi
jbe 0x459650
mov edx, dword [ebp - 0x14]
mov eax, 1
xor ecx, ecx
mov dword [esi + 4], ecx
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
cmp edx, ebx
jg 0x459650
jl 0x4596ae
cmp eax, edi
jae 0x459650
mov edx, dword [ebp - 0x14]
mov eax, 1
xor ecx, ecx
mov dword [esi + 4], ecx
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
cmp edx, ebx
jl 0x459650
jg 0x4596cf
cmp eax, edi
jb 0x459650
mov edx, dword [ebp - 0x14]
mov eax, 1
xor ecx, ecx
mov dword [esi + 4], ecx
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
cmp edx, ebx
jg 0x459650
jl 0x4596f8
cmp eax, edi
ja 0x459650
mov edx, dword [ebp - 0x14]
mov eax, 1
xor ecx, ecx
mov dword [esi + 4], ecx
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
and eax, edi
and edx, ebx
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x14]
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
or eax, edi
or edx, ebx
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x14]
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
xor eax, edi
xor edx, ebx
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x14]
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
mov ecx, edi
call fcn.0049b9e0
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x14]
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
mov ecx, edi
call fcn.0049b9b0
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x14]
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
mov ecx, edi
or ecx, dword [ebp - 0x78]
jne 0x459793
mov edx, ecx
mov dword [esi], 0x4a9e04
mov dword [ebp - 0x14], ecx
mov dword [esi + 8], edx
jmp 0x45a1b8
mov ecx, dword [ebp - 0x78]
push ecx
push edi
push edx
push eax
call fcn.0049aee0
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x14]
mov dword [esi], eax
mov dword [esi + 8], edx
jmp 0x45a1b8
mov ecx, eax
or ecx, edx
jne 0x4597d7
test ebx, ebx
jg 0x45982d
jl 0x4597bf
test edi, edi
jae 0x45982d
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x14]
mov dword [esi], 0x4a9e04
mov dword [esi + 8], edx
jmp 0x45a1b8
test edx, edx
jg 0x45982d
jl 0x4597e1
test eax, eax
jae 0x45982d
neg eax
adc edx, 0
neg edx
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
fild qword [ebp - 0x7c]
sub esp, 0x10
fstp qword [esp + 8]
fild qword [ebp - 0x84]
fstp qword [esp]
call fcn.004311f0
cmp dword [ebp - 0x40], 0
fst qword [esi]
je 0x459836
push 0
push 2
push ebx
push edi
call fcn.0049b8f0
or eax, edx
je 0x459836
fchs
fstp qword [esi]
jmp 0x459838
mov dword [ebp - 0x40], 0
jmp 0x4597f8
fstp st(0)
test ebx, ebx
jg 0x459854
jl 0x459842
test edi, edi
jae 0x459854
mov dword [ebp - 0x14], 2
mov edx, dword [ebp - 0x14]
mov dword [esi + 8], edx
jmp 0x45a1b8
fld qword [esi]
call fcn.0049ae66
mov dword [esi + 4], edx
mov dword [esi], eax
mov edx, dword [ebp - 0x14]
mov dword [esi + 8], edx
jmp 0x45a1b8
xor eax, eax
cmp dword [ebp - 0x54], 2
sete al
push eax
push 1
mov eax, edi
call fcn.0044fec0
fstp qword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp ebx, 2
sete cl
push ecx
push 1
call fcn.0044fec0
fst qword [ebp - 0x44]
mov ecx, dword [esi + 8]
add esp, 0x10
cmp ecx, 0x24
jl 0x4598ac
mov ebx, 1
cmp ecx, 0x2a
jle 0x4598b1
mov ebx, 2
lea eax, [ecx - 0x24]
cmp eax, 0x17
ja case.0x4598c0.43
movzx edx, byte [eax + 0x45a8ec]
jmp dword [edx*4 + 0x45a8bc]
fadd qword [ebp - 0x3c]
mov dword [esi + 8], ebx
fstp qword [esi]
jmp 0x45a1b8
fsub qword [ebp - 0x3c]
mov dword [esi + 8], ebx
fstp qword [esi]
jmp 0x45a1b8
fmul qword [ebp - 0x3c]
mov dword [esi + 8], ebx
fstp qword [esi]
jmp 0x45a1b8
fld qword [ebp - 0x3c]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x459912
fstp st(1)
mov dword [esi], 0x4a9e04
xor ebx, ebx
fstp st(0)
mov dword [esi + 8], ebx
jmp 0x45a1b8
fdivp st(1)
fst qword [esi]
cmp ecx, 0x35
jne case.0x4598c0.43
sub esp, 8
fstp qword [esp]
call fcn.00431250
fstp qword [esi]
mov dword [esi + 8], ebx
jmp 0x45a1b8
fld qword [ebp - 0x3c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x459950
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], ebx
jmp 0x45a1b8
xor eax, eax
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], ebx
jmp 0x45a1b8
fld qword [ebp - 0x3c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x459950
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], ebx
jmp 0x45a1b8
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 0x41
jne 0x459950
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], ebx
jmp 0x45a1b8
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 5
jp 0x459950
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], ebx
jmp 0x45a1b8
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 1
jne 0x459950
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], ebx
jmp 0x45a1b8
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 0x41
jp 0x459950
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], ebx
jmp 0x45a1b8
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x459a0f
mov edi, 1
jmp 0x459a11
xor edi, edi
fld st(1)
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x459a3a
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 0x41
jne 0x459a3c
fstp st(0)
xor ebx, ebx
mov dword [esi], 0x4a9e04
mov dword [esi + 8], ebx
jmp 0x45a1b8
fstp st(0)
test edi, edi
je 0x459a66
fstp st(0)
sub esp, 0x10
fld1
fstp qword [esp + 8]
fld qword [ebp - 0x3c]
fstp qword [esp]
call fcn.00431280
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x459a2a
fld qword [ebp - 0x44]
fchs
fld qword [ebp - 0x3c]
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
call fcn.004311f0
fstp qword [esi]
test edi, edi
je 0x45990a
fld qword [0x4bc230]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ebp - 0x3c]
fstp qword [esp]
call fcn.00431280
sub esp, 8
fstp qword [esp]
call fcn.004311e0
fld1
fucompp
fnstsw ax
test ah, 0x44
jp 0x45990a
fld qword [esi]
mov dword [esi + 8], ebx
fchs
fstp qword [esi]
jmp 0x45a1b8
mov eax, dword [esi + 8]
add eax, 0xffffffdc
cmp eax, 2
ja 0x459b23
mov ecx, edi
call fcn.00450130
mov ecx, dword [ebp - 0x30]
mov ebx, eax
call fcn.00450130
test ebx, ebx
jne 0x459ae6
test eax, eax
je 0x459b23
xor ecx, ecx
cmp ebx, eax
sete cl
xor edx, edx
cmp dword [esi + 8], 0x26
setne dl
cmp edx, ecx
jne 0x459b0e
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
jmp 0x45a1ea
xor eax, eax
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], 1
jmp 0x45a1ea
lea ecx, [ebp - 0xfb4]
mov eax, edi
call fcn.0044ff70
mov ebx, eax
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x6c], ebx
call fcn.0044ff70
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 8]
add eax, 0xffffffdc
mov dword [ebp - 0x14], 1
cmp eax, 7
ja case.default.0x459b5c
jmp dword [eax*4 + 0x45a904]
mov eax, dword [0x4c140c]
cmp byte [eax + 0xee], 0
push ebx
jne 0x459b80
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.0048c519
add esp, 8
jmp 0x459b8a
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x459b9f
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x45a1b2
xor eax, eax
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x45a1b2
mov eax, dword [ebp - 0x18]
mov ecx, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x459bd8
test dx, dx
je 0x459bd4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x459bd8
add eax, 4
add ecx, 4
test dx, dx
jne 0x459bb2
xor eax, eax
jmp 0x459bdd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x459b9f
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x45a1b2
mov eax, dword [0x4c140c]
mov al, byte [eax + 0xee]
test al, al
jne 0x459c22
mov ecx, dword [ebp - 0x18]
push ebx
push ecx
call fcn.0048c519
xor ecx, ecx
add esp, 8
test eax, eax
setne cl
mov eax, ecx
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x45a1b2
cmp al, 2
jne 0x459c45
mov edx, dword [ebp - 0x18]
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x45a1b2
mov eax, dword [ebp - 0x18]
mov ecx, ebx
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x459c88
test dx, dx
je 0x459c72
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x459c88
add eax, 4
add ecx, 4
test dx, dx
jne 0x459c50
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x45a1b2
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x45a1b2
mov edx, dword [0x4c140c]
mov al, byte [edx + 0xee]
test al, al
jne 0x459cc0
mov eax, dword [ebp - 0x18]
push ebx
push eax
call fcn.0048c519
add esp, 8
jmp 0x459d01
cmp al, 2
jne 0x459cd1
mov ecx, dword [ebp - 0x18]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x459d01
mov eax, dword [ebp - 0x18]
mov ecx, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x459cfc
test dx, dx
je 0x459cf8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x459cfc
add eax, 4
add ecx, 4
test dx, dx
jne 0x459cd6
xor eax, eax
jmp 0x459d01
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jle 0x459b9f
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x45a1b2
mov edx, dword [0x4c140c]
mov al, byte [edx + 0xee]
test al, al
jne 0x459d39
mov eax, dword [ebp - 0x18]
push ebx
push eax
call fcn.0048c519
add esp, 8
jmp 0x459d7b
cmp al, 2
jne 0x459d4a
mov ecx, dword [ebp - 0x18]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x459d7b
mov eax, dword [ebp - 0x18]
mov ecx, ebx
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x459d76
test dx, dx
je 0x459d72
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x459d76
add eax, 4
add ecx, 4
test dx, dx
jne 0x459d50
xor eax, eax
jmp 0x459d7b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jns 0x459b9f
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x45a1b2
mov edx, dword [0x4c140c]
mov al, byte [edx + 0xee]
test al, al
jne 0x459db3
mov eax, dword [ebp - 0x18]
push ebx
push eax
call fcn.0048c519
add esp, 8
jmp 0x459dfb
cmp al, 2
jne 0x459dc4
mov ecx, dword [ebp - 0x18]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x459dfb
mov eax, dword [ebp - 0x18]
mov ecx, ebx
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x459df6
test dx, dx
je 0x459df2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x459df6
add eax, 4
add ecx, 4
test dx, dx
jne 0x459dd0
xor eax, eax
jmp 0x459dfb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, 0xffffffff
jle 0x459b9f
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x45a1b2
mov edx, dword [0x4c140c]
mov al, byte [edx + 0xee]
test al, al
jne 0x459e34
mov eax, dword [ebp - 0x18]
push ebx
push eax
call fcn.0048c519
add esp, 8
jmp 0x459e7b
cmp al, 2
jne 0x459e45
mov ecx, dword [ebp - 0x18]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x459e7b
mov eax, dword [ebp - 0x18]
mov ecx, ebx
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x459e76
test dx, dx
je 0x459e72
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x459e76
add eax, 4
add ecx, 4
test dx, dx
jne 0x459e50
xor eax, eax
jmp 0x459e7b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, 1
jge 0x459b9f
mov eax, 1
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x45a1b2
cmp dword [edi + 8], 4
jne 0x459ea4
mov eax, dword [edi]
call fcn.00412f40
jmp 0x459ebf
mov eax, ebx
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x459eb0
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x48], 0
mov dword [ebp - 0x20], eax
je 0x459ee2
mov edx, eax
mov eax, dword [ebp - 0x48]
push edx
push ebx
call fcn.00476550
test eax, eax
je 0x459ee2
mov eax, dword [ebp - 0x48]
mov dword [esi], eax
jmp 0x45a1e3
mov ecx, dword [ebp - 0x30]
cmp dword [ecx + 8], 4
jne 0x459ef6
mov edx, ecx
mov eax, dword [edx]
call fcn.00412f40
jmp 0x459f0f
mov eax, dword [ebp - 0x18]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x459f00
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x48], 0
mov ecx, dword [ebp - 0x20]
lea edx, [eax + ecx + 1]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x14], edx
jne 0x45a0d5
mov ebx, dword [ebp - 0x5c]
test ebx, ebx
je 0x459f45
cmp dword [ebp - 0x1c], 0
jne 0x459f45
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x18], 0x41
jne 0x459f45
mov dword [ebp - 0x40], 1
jmp 0x459f8a
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x18], 0x13
jne 0x45a0d5
cmp dword [ebp - 0x1c], 0
je 0x45a0d5
mov edx, dword [ebp - 0x38]
mov eax, dword [edx - 4]
cmp dword [eax + 8], 4
jne 0x45a0d5
mov ebx, dword [eax]
mov al, byte [ebx + 0x17]
test al, al
jne 0x459f7b
mov eax, dword [ebx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x45a0d5
mov dword [ebp - 0x40], 0
test ebx, ebx
je 0x45a0d5
cmp byte [ebx + 0x17], 0
jne 0x459f9d
mov eax, dword [ebx + 0xc]
jmp 0x459f9f
mov eax, ebx
mov cl, byte [eax + 0x17]
cmp cl, 1
jne 0x459fac
mov eax, dword [eax + 8]
jmp 0x459fb6
cmp cl, 2
jne 0x459fbd
call fcn.00401000
cmp eax, 0x4c7078
jne 0x459fbf
xor eax, eax
cmp eax, dword [ebp - 0x18]
jne 0x45a00b
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x6c]
push ecx
push edx
mov eax, ebx
call fcn.00476550
test eax, eax
je 0x45a0d5
cmp dword [ebp - 0x40], 0
jne case.0x45a478.3
mov eax, dword [ebp - 0x24]
add eax, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [eax + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xdb8]
mov edx, dword [ecx]
dec eax
mov dword [ebp - 0x1c], eax
mov dword [esi], edx
jmp 0x45a1e3
cmp eax, dword [ebp - 0x6c]
je 0x45a0d5
mov eax, dword [ebp - 0x14]
push 1
push 0
dec eax
push eax
push 0
push ebx
call fcn.00475ef0
test eax, eax
je 0x45a5d3
cmp byte [ebx + 0x17], 0
jne 0x45a038
mov edi, dword [ebx + 0xc]
jmp 0x45a03a
mov edi, ebx
test byte [edi + 0x15], 8
je 0x45a047
mov eax, edi
call fcn.00401160
mov al, byte [edi + 0x17]
cmp al, 1
jne 0x45a060
test byte [edi + 0x15], 4
je 0x45a05b
mov eax, edi
call fcn.00430310
mov edi, dword [edi + 8]
jmp 0x45a072
cmp al, 2
jne 0x45a06d
call fcn.00401000
mov edi, eax
jmp 0x45a072
mov edi, 0x4c7078
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x45a08d
mov edx, dword [ebp - 0x18]
lea ecx, [eax + eax]
push ecx
push edx
push edi
call fcn.00494890
mov eax, dword [ebp - 0x70]
add esp, 0xc
mov ecx, dword [ebp - 0x20]
lea edx, [ecx + ecx + 2]
mov ecx, dword [ebp - 0x6c]
push edx
push ecx
lea edx, [edi + eax*2]
push edx
call fcn.00494890
add esp, 0xc
cmp byte [ebx + 0x17], 0
jne 0x45a0ae
mov ebx, dword [ebx + 0xc]
cmp byte [ebx + 0x17], 2
jne 0x45a0cc
cmp dword [0x4c7be4], 0
je 0x45a0cc
mov ecx, 0x4c7bd8
call fcn.00403df0
jmp 0x459fdb
and byte [ebx + 0x15], 0x86
jmp 0x459fdb
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp + 0x1c]
mov ecx, eax
sub ecx, dword [edx]
mov edx, dword [ebp + 0x20]
mov edx, dword [edx]
sar ecx, 1
sub edx, ecx
mov ecx, dword [ebp - 0x14]
cmp ecx, edx
ja 0x45a0f9
mov dword [esi], eax
lea eax, [eax + ecx*2]
mov dword [ebp - 0x50], eax
jmp 0x45a151
cmp ecx, 0x1001
jae 0x45a11e
cmp dword [ebp - 0x34], 0x9c40
jae 0x45a11e
mov ebx, dword [ebp - 0x14]
lea eax, [ebx + ebx]
call fcn.00493ae0
add dword [ebp - 0x34], ebx
mov eax, esp
mov dword [esi], eax
jmp 0x45a151
mov ebx, dword [ebp - 0x28]
cmp ebx, 0xc8
je 0x45a5bf
mov ecx, dword [ebp - 0x14]
lea edx, [ecx + ecx]
push edx
call fcn.0048c5a4
add esp, 4
mov dword [ebp + ebx*4 - 0x5b4], eax
mov dword [esi], eax
test eax, eax
je 0x45a5bf
inc ebx
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x45a16b
mov ecx, dword [ebp - 0x18]
mov edx, dword [esi]
lea eax, [ebx + ebx]
push eax
push ecx
push edx
call fcn.00494890
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x6c]
lea ecx, [eax + eax + 2]
mov eax, dword [esi]
push ecx
push edx
lea ecx, [eax + ebx*2]
push ecx
call fcn.00494890
mov edx, dword [ebp - 0x30]
xor eax, eax
add esp, 0xc
cmp dword [edx + 8], eax
je 0x45a1a0
cmp dword [edi + 8], eax
je 0x45a1a0
mov dword [ebp - 0x14], 5
mov dword [esi + 4], eax
jmp 0x45a1b2
mov dword [ebp - 0x14], eax
jmp 0x45a1b2
mov dword [esi], 0x4a9e04
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
mov dword [esi + 8], eax
cmp dword [ebp - 0x48], 0
je 0x45a1ea
mov ebx, dword [ebp - 0x48]
mov eax, esi
call fcn.00475810
test eax, eax
je 0x45a5d3
mov al, byte [ebx + 0x17]
test al, al
jne 0x45a1dd
mov ecx, dword [ebx + 0xc]
mov al, byte [ecx + 0x17]
cmp al, 2
je 0x45a1ea
mov dword [esi], ebx
mov dword [esi + 8], 4
cmp dword [esi + 0xc], 0
je 0x45a295
mov eax, dword [esi + 8]
lea ecx, [eax - 1]
cmp ecx, 4
ja case.0x45a1ff.3
jmp dword [ecx*4 + 0x45a924]
mov eax, dword [esi]
push 0
call fcn.00412af0
jmp case.0x45a1ff.1
cmp dword [esi + 4], 0
je 0x45a21e
mov eax, 1
jmp case.0x45a1ff.1
push 0
push 1
push 0
push 1
xor ecx, ecx
mov eax, esi
call fcn.0044ff70
call fcn.004730d0
add esp, 0x10
jmp case.0x45a1ff.1
xor eax, eax
mov ecx, eax
mov eax, esi
call fcn.0044fc30
mov ecx, dword [esi + 0xc]
mov edi, eax
mov eax, 0x20
cmp dword [ecx + 8], eax
je 0x45a2db
mov ebx, dword [ebp - 0x24]
lea ebx, [ebx]
xor edx, edx
cmp dword [ecx + 8], 0x21
sete dl
cmp edi, edx
jne 0x45a2cd
mov ebx, ecx
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x24], ebx
test ecx, ecx
je 0x45a27e
cmp dword [ecx + 8], eax
jne 0x45a260
mov eax, edi
cdq
mov dword [esi + 8], 1
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 0xc], ecx
jmp 0x45a1ea
mov ebx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x1c]
cmp ebx, edi
jle 0x45a2bc
nop
mov eax, dword [ebp + ebx*4 - 0xdb8]
dec ebx
cmp dword [eax + 8], 6
jne 0x45a2b8
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp ebx, edi
jg 0x45a2a0
mov dword [ebp + edi*4 - 0xdb4], esi
inc edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x58], edi
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp + 0x14]
add ebx, 0x10
jmp 0x458737
test edi, edi
jne 0x45a2ca
mov ebx, dword [esi + 0xc]
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp + 0x14]
add ebx, 0x10
jmp 0x458737
mov eax, dword [esi]
mov ecx, dword [eax + 0x18]
push ecx
jmp 0x45a5c4
cmp dword [ebx], 1
je 0x45a307
mov dword [ebp - 0x2c], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x68]
test eax, eax
je case.0x45a478.3
lea edx, [ebp - 0x60]
push edx
lea ecx, [ebp - 0x64]
push ecx
push eax
call fcn.00476800
add esp, 0xc
jmp case.0x45a478.3
mov esi, dword [esi + 0xc]
test esi, esi
je 0x45a33f
push esi
call fcn.0048db7f
add esp, 4
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 0xffffffff
call fcn.0045ad90
jmp case.0x45a478.3
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 4]
push eax
push 0
push str.Out_of_memory.
call fcn.0042fab0
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 0xffffffff
call fcn.0045ad90
jmp 0x45a5d3
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp + 8]
push edx
push 0
push str.Out_of_memory.
call fcn.0042fab0
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 0xffffffff
call fcn.0045ad90
jmp 0x45a5d3
mov eax, dword [ebp + 8]
mov cl, byte [eax]
cmp cl, 3
je case.0x45a478.3
cmp edi, 1
jne 0x458996
cmp dword [ebp - 0x5c], 0
mov eax, dword [ebp - 0xdb4]
mov ebx, eax
je 0x45a3de
mov ebx, dword [ebp - 0x5c]
call fcn.00475810
test eax, eax
je 0x45a5d3
jmp case.0x45a478.3
cmp cl, 0x11
je 0x45a6b8
cmp cl, 0x6a
je 0x45a6b8
cmp cl, 0x6b
je 0x45a6b8
test edx, edx
je 0x45a464
mov ecx, dword [eax + 8]
cmp ecx, 1
je 0x45a44d
cmp ecx, 2
je 0x45a44d
cmp ecx, 6
je 0x45a44d
cmp ecx, 4
jne 0x45a464
mov ecx, dword [eax]
cmp byte [ecx + 0x17], 0
jne 0x45a41f
mov ecx, dword [ecx + 0xc]
test byte [ecx + 0x15], 2
je 0x45a464
mov dword [edx + 8], 6
mov eax, dword [eax]
cmp byte [eax + 0x17], 0
jne 0x45a437
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, 0x4a9e04
jmp 0x45a723
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, 0x4a9e04
jmp 0x45a723
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x2c], edx
cmp ecx, 6
ja case.0x45a478.3
jmp dword [ecx*4 + 0x45a938]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov edi, dword [ebp - 0x2c]
push ecx
push edx
call fcn.00401050
add esp, 8
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x45a494
sub eax, edx
sar eax, 1
lea ecx, [eax + eax + 2]
mov eax, dword [ebp + 0x18]
add dword [eax], ecx
jmp case.0x45a478.3
mov edx, dword [0x4c140c]
fld qword [eax]
mov edi, dword [ebp - 0x2c]
sub esp, 8
add edx, 0x74
fstp qword [esp]
push edx
mov esi, 0x100
call fcn.00473270
lea ecx, [eax + eax + 2]
mov eax, dword [ebp + 0x18]
add esp, 0xc
add dword [eax], ecx
jmp case.0x45a478.3
cmp ecx, 4
jne 0x45a556
mov eax, dword [eax]
cmp byte [eax + 0x17], 0
jne 0x45a4f3
mov edi, dword [eax + 0xc]
jmp 0x45a4f5
mov edi, eax
test byte [edi + 0x15], 8
je 0x45a502
mov eax, edi
call fcn.00401160
mov al, byte [edi + 0x17]
cmp al, 1
jne 0x45a528
test byte [edi + 0x15], 4
je 0x45a516
mov eax, edi
call fcn.00430310
mov eax, dword [ebx]
mov esi, dword [edi + 8]
call fcn.00412f40
lea edi, [eax + 1]
mov dword [ebp - 0x14], edi
jmp 0x45a575
cmp al, 2
jne 0x45a542
call fcn.00401000
mov esi, eax
mov eax, dword [ebx]
call fcn.00412f40
lea edi, [eax + 1]
mov dword [ebp - 0x14], edi
jmp 0x45a575
mov eax, dword [ebx]
mov esi, 0x4c7078
call fcn.00412f40
lea edi, [eax + 1]
mov dword [ebp - 0x14], edi
jmp 0x45a575
mov esi, dword [eax]
mov eax, esi
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x45a560
sub eax, edx
sar eax, 1
inc eax
mov dword [ebp - 0x14], eax
mov edi, eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
add edx, edx
movzx eax, word [ecx + edx*8 + 2]
mov edx, 0xff
cmp ax, dx
jae 0x45a591
mov eax, edx
mov ecx, dword [ebp + 0x28]
lea eax, [eax + ecx + 1]
cmp edi, eax
jbe 0x45a69a
mov edx, dword [ebp + 0x20]
mov edi, dword [edx]
sub edi, eax
add edi, dword [ebp - 0x14]
lea eax, [edi + edi]
push eax
mov dword [ebp + 0x14], edi
call fcn.0048c5a4
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x45a5e8
push 0x4a9e04
mov ecx, dword [ebp + 8]
push 0
push str.Out_of_memory.
call fcn.0042fab0
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x2c], 0
mov dword [ecx], 0
jmp case.0x45a478.3
cmp edi, 0x400000
jbe 0x45a5f6
inc dword [0x4c7030]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
mov eax, dword [edx]
mov edi, dword [ecx]
sub edi, eax
sar edi, 1
je 0x45a614
lea edx, [edi + edi]
push edx
push eax
push ebx
call fcn.00494890
add esp, 0xc
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x14]
lea eax, [ebx + edi*2]
mov dword [ecx], eax
lea ecx, [edx + edx]
push ecx
push esi
push eax
mov dword [ebp - 0x2c], eax
call fcn.00494890
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
add esp, 0xc
push eax
call fcn.0048db7f
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx]
add esp, 4
cmp eax, 0x400000
jbe 0x45a650
dec dword [0x4c7030]
mov edi, dword [ebp + 0x1c]
mov edx, dword [edi]
xor ecx, ecx
lea eax, [edx + eax*2]
mov dword [ebp + 8], eax
cmp dword [ebp + 0xc], ecx
jle 0x45a683
mov esi, dword [ebp + 0x24]
mov eax, dword [esi + ecx*4]
mov edx, dword [edi]
cmp eax, edx
jb 0x45a67d
cmp eax, dword [ebp + 8]
jae 0x45a67d
sub eax, edx
sar eax, 1
lea edx, [ebx + eax*2]
mov dword [esi + ecx*4], edx
inc ecx
cmp ecx, dword [ebp + 0xc]
jl 0x45a665
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x20]
mov dword [edi], ebx
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp + 0x18]
mov dword [ecx], eax
lea eax, [edi + edi]
add dword [ebx], eax
jmp case.0x45a478.3
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebx]
cmp eax, esi
je 0x45a6b1
lea edx, [edi + edi]
push edx
push esi
push eax
call fcn.0048cf90
add esp, 0xc
lea eax, [edi + edi]
add dword [ebx], eax
jmp case.0x45a478.3
mov ecx, dword [eax + 8]
cmp ecx, 6
ja case.0x45a6c4.3
jmp dword [ecx*4 + 0x45a954]
mov edx, dword [eax]
or edx, dword [eax + 4]
jne case.0x45a6c4.6
mov dword [ebp - 0x2c], 0x4a9e04
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x45a6f9
mov ecx, dword [ebp + esi*4 - 0x5b8]
dec esi
push ecx
call fcn.0048db7f
add esp, 4
test esi, esi
jne 0x45a6e4
mov esi, dword [ebp - 0x58]
test esi, esi
je 0x45a720
mov edi, 6
mov eax, dword [ebp + esi*4 - 0xdb8]
dec esi
cmp dword [eax + 8], edi
jne 0x45a71c
mov eax, dword [eax]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test esi, esi
jne 0x45a705
mov eax, dword [ebp - 0x2c]
lea esp, [ebp - 0xfc4]
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.0x45a6c4.6
jmp case.0x45a478.6
mov ecx, dword [eax + 4]
test ecx, ecx
je case.0x45a6c4.0
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jmp 0x45a6d0
mov eax, dword [eax]
call fcn.0044fb40
jmp 0x45a771
mov esi, dword [eax]
call fcn.0044fba0
jmp 0x45a771
mov eax, dword [ebp + 8]
test eax, eax
je case.0x45a478.6
mov dword [ebp - 0x2c], 0x4a2324
jmp case.0x45a478.3