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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4abd88
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfa4
push ebx
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebx]
xor ecx, ecx
xor edx, edx
push esi
mov esi, dword [ebp + 8]
cmp byte [esi], 2
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0xc]
setne dl
push edi
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x38], 0x4af9bc
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x54], ecx
dec edx
and edx, dword [0x4d85e0]
add eax, eax
mov dword [ebp - 0x6c], edx
mov edx, dword [esi + 8]
mov esi, dword [edx + eax*8 + 0xc]
lea eax, [edx + eax*8 + 0xc]
cmp dword [esi + 8], 0x41
mov edi, dword [0x4d4b04]
mov dword [ebp - 0x20], esi
je 0x464a3b
mov eax, 0x10
call fcn.004a72a0
mov eax, dword [esi]
mov ebx, esp
mov dword [ebx], eax
mov ecx, dword [esi + 4]
mov dword [ebx + 4], ecx
mov edx, dword [esi + 8]
mov dword [ebx + 8], edx
mov eax, dword [esi + 0xc]
mov dword [ebx + 0xc], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x60], ebx
cmp eax, 8
jge 0x463111
cmp eax, 7
jne 0x4646b5
mov esi, dword [ebx + 4]
test esi, esi
je 0x462f3f
mov ecx, dword [ebx]
xor edi, edi
mov dword [ebx], 0x4af9bc
mov dword [ebx + 8], edi
mov eax, dword [ecx]
mov dword [ebp - 0x14], ecx
cmp eax, esi
jne 0x462ce7
movzx edx, word [ecx + 0xa]
cmp word [esi + edx*2], di
jne 0x462ce7
cmp byte [ecx + 0x14], 0
je 0x462ce7
mov edx, dword [ecx + 4]
cmp byte [edx + 0x17], 0
jne 0x462cbd
mov edx, dword [edx + 0xc]
test byte [edx + 0x15], 2
je 0x462ce7
mov dword [ebx + 8], 6
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0x17], 0
jne 0x462cd6
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx]
mov dword [ebx], eax
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
jmp 0x4646b5
test eax, eax
je 0x462dfe
cmp esi, eax
mov eax, dword [ebp - 0x14]
jae 0x462d11
cmp edi, 0xfd
jae 0x462d19
mov cx, word [esi]
mov word [ebp + edi*2 - 0x28c], cx
add esi, 2
inc edi
cmp esi, dword [eax]
jb 0x462cf6
cmp edi, 0xfd
jb 0x462d21
cmp esi, dword [eax]
jb 0x462e86
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
movzx eax, byte [eax + 0x17]
cmp eax, 3
ja case.default.0x462d30
jmp dword [eax*4 + 0x464dc4]
mov eax, dword [ebp - 0x18]
call fcn.00401160
cmp dword [0x4d880c], 0
jne 0x462d80
mov edx, dword [ebp - 0x18]
cmp dword [edx + 0xc], 0
jne 0x462d80
push 0
lea eax, [ebp - 0x80]
mov ecx, edx
mov edx, dword [ecx + 0x18]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x462d74
mov dword [0x4dac38], 0
dec eax
jmp 0x462dc0
mov eax, dword [ebp - 0x18]
mov dword [0x4dac38], eax
xor eax, eax
jmp 0x462dc0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0xc]
shr eax, 1
jmp 0x462dc0
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx + 0xc]
push 0
call fcn.004829a0
jmp 0x462dc0
xor ecx, ecx
call fcn.00404d30
cmp eax, 0xffffffff
jne 0x462dc0
xor eax, eax
jmp 0x462dc0
mov eax, dword [ebp - 0x18]
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 0x462e86
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 4]
lea edx, [ebp + edi*2 - 0x28c]
push edx
call fcn.004829a0
add edi, eax
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 0xa]
add eax, 0xc
mov dword [ebp - 0x14], eax
mov eax, dword [eax]
lea esi, [esi + ecx*2]
test eax, eax
jne 0x462cef
movzx eax, word [esi]
test ax, ax
je 0x462e22
cmp edi, 0xfd
jae 0x462e2a
add esi, 2
mov word [ebp + edi*2 - 0x28c], ax
movzx eax, word [esi]
inc edi
test ax, ax
jne 0x462e06
cmp edi, 0xfd
jb 0x462e30
cmp word [esi], 0
jne 0x462e86
mov eax, dword [ebp - 0x14]
test edi, edi
jne 0x462e3d
cmp byte [eax + 8], 0
je 0x462e89
xor edx, edx
mov word [ebp + edi*2 - 0x28c], dx
cmp byte [eax + 8], dl
je 0x462edb
lea eax, [edi + edi + 2]
mov dword [ebx + 8], edx
call fcn.004a2520
mov esi, esp
lea eax, [ebp - 0x28c]
mov edx, esi
mov ecx, eax
sub edx, ecx
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x462e70
mov dword [ebx], esi
jmp 0x4646b5
mov eax, dword [ebp - 0x14]
cmp dword [eax], 0
je 0x462e98
mov edi, edi
add eax, 0xc
cmp dword [eax], 0
jne 0x462e90
cmp byte [eax + 8], 0
je 0x4646b5
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je case.0x464b10.3
mov eax, dword [ebp - 0x38]
test eax, eax
je case.0x464b10.3
push 1
push 0
push 0xffffffffffffffff
push eax
push ecx
call fcn.004825d0
test eax, eax
jne case.0x464b10.3
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
jmp case.0x464b10.3
cmp word [ebp - 0x28c], dx
je 0x464c12
lea edx, [ebp - 0x59]
push edx
push 3
lea eax, [ebp - 0x8c]
push eax
push edi
lea ecx, [ebp - 0x28c]
push ecx
mov ecx, 0x4d96d0
call fcn.0042ce40
test eax, eax
jne 0x462f37
mov eax, dword [ebp - 0x8c]
xor edx, edx
cmp byte [ebp - 0x59], dl
lea ecx, [ebp - 0x28c]
setne dl
inc edx
push edx
push eax
push ecx
push 0x4d96d0
mov ecx, edi
call fcn.0042d0f0
test eax, eax
je 0x464c12
mov edi, dword [0x4d4b04]
mov dword [ebx], eax
mov esi, dword [ebx]
mov al, byte [esi + 0x17]
test al, al
jne 0x462f4e
mov edx, dword [esi + 0xc]
mov al, byte [edx + 0x17]
movzx ecx, al
mov eax, 1
sub ecx, eax
je 0x462f99
sub ecx, 3
jne 0x462fcf
mov ecx, dword [esi + 0x10]
cmp ecx, 0x4503f0
jne 0x462f7d
mov ecx, dword [edi + 8]
mov dword [ebx], ecx
mov edx, dword [edi + 0xc]
mov dword [ebx + 4], edx
mov dword [ebx + 8], eax
jmp 0x4646b5
cmp ecx, 0x450ca0
jne 0x462fcf
mov ecx, dword [edi + 0x38]
mov dword [ebx], ecx
mov dword [ebx + 4], 0
mov dword [ebx + 8], eax
jmp 0x4646b5
cmp dword [0x4d880c], 0
jne 0x46439e
cmp byte [esi + 0x17], 0
jne 0x462fb1
mov eax, dword [esi + 0xc]
jmp 0x462fb3
mov eax, esi
test byte [eax + 0x15], 0xa
jne 0x46439e
xor edx, edx
cmp dword [eax + 0xc], edx
setne dl
mov eax, edx
test eax, eax
jne 0x46439e
movzx eax, byte [esi + 0x17]
cmp eax, 3
ja case.default.0x462fd8
jmp dword [eax*4 + 0x464dd4]
mov eax, esi
call fcn.00401160
cmp dword [0x4d880c], 0
jne 0x463023
cmp dword [esi + 0xc], 0
jne 0x463023
mov ecx, dword [esi + 0x18]
push 0
lea eax, [ebp - 0x88]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x463019
mov dword [0x4dac38], 0
dec eax
jmp 0x46305a
mov dword [0x4dac38], esi
xor eax, eax
jmp 0x46305a
mov eax, dword [esi + 0xc]
shr eax, 1
jmp 0x46305a
mov ecx, dword [esi + 0xc]
push 0
call fcn.004829a0
jmp 0x46305a
xor ecx, ecx
call fcn.00404d30
cmp eax, 0xffffffff
jne 0x46305a
xor eax, eax
jmp 0x46305a
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x10]
push edx
push 0
call eax
add esp, 8
lea esi, [eax + 1]
cmp esi, 1
jne 0x463086
mov eax, dword [ebx]
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x463071
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x463846
mov dword [ebx + 8], 4
jmp 0x4646b5
mov edi, dword [ebp - 0x64]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x20]
mov edx, edi
sub edx, dword [eax]
mov eax, dword [ecx]
sar edx, 1
sub eax, edx
cmp esi, eax
ja 0x4630a5
lea ecx, [edi + esi*2]
mov dword [ebp - 0x64], ecx
jmp 0x4630f4
cmp esi, 0x1001
jae 0x4630c5
cmp dword [ebp - 0x54], 0x9c40
jae 0x4630c5
lea eax, [esi + esi]
call fcn.004a2520
add dword [ebp - 0x54], esi
mov edi, esp
jmp 0x4630f4
mov edi, dword [ebp - 0x30]
cmp edi, 0xc8
je 0x46494d
lea edx, [esi + esi]
push edx
call fcn.0049932e
add esp, 4
mov dword [ebp + edi*4 - 0x5ac], eax
test eax, eax
je 0x46494d
inc dword [ebp - 0x30]
mov edi, eax
mov ecx, dword [ebx]
push edi
call fcn.004829a0
mov dword [ebx], edi
mov dword [ebx + 4], 0
mov dword [ebx + 8], 5
jmp 0x4646b5
cmp eax, 0x3e
jne 0x463523
mov eax, dword [ebx]
movzx ecx, byte [eax + 9]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x48], ecx
cmp ecx, eax
jg 0x462ea2
sub eax, ecx
mov dword [ebp - 0x1c], eax
lea esi, [ebp + eax*4 - 0xdac]
test edx, edx
jne 0x4631d1
test eax, eax
je 0x462ea2
dec eax
mov edi, dword [ebp + eax*4 - 0xdac]
mov dword [ebp - 0x1c], eax
lea eax, [ebp + eax*4 - 0xdac]
call fcn.0045ab20
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x4631ba
mov edi, dword [ebp - 0x48]
test edi, edi
je 0x46318d
lea eax, [edi*4]
push eax
lea ecx, [esi + 4]
push esi
push ecx
call fcn.0049a200
add esp, 0xc
inc dword [ebp - 0x68]
mov eax, 0x10
call fcn.004a72a0
mov eax, esp
mov dword [esi], eax
mov dword [eax + 8], 0
mov edx, dword [esi]
sub esi, 4
add edi, 2
mov dword [edx], 0x4af9bc
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x18], 0x4d5f30
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x18]
cmp eax, dword [ecx + 0x14]
jge 0x4631d1
mov edx, dword [ebx]
cmp byte [edx + 8], 2
jne 0x462ea2
mov ecx, dword [ebx + 0xc]
xor edi, edi
lea eax, [ebp - 0x28c]
mov dword [ebx + 4], eax
mov dword [ebp - 0x28], ecx
mov dword [ebx + 0xc], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 4], edi
mov edx, dword [ebx]
cmp byte [edx + 8], 2
mov edx, dword [ebp - 0x48]
sete al
movzx ecx, al
push ecx
mov ecx, dword [ebp - 0x18]
push edx
push esi
mov esi, dword [ebp + 0x10]
push ebx
push esi
lea eax, [ebp - 0x44]
push eax
push ecx
call fcn.00465120
test al, al
je 0x464958
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.00462b80
mov dword [0x4d9d04], edi
mov eax, dword [ebx + 8]
cmp eax, 1
je 0x4634f5
cmp eax, 2
je 0x4634f5
cmp eax, 6
je 0x4634f5
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x463270
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x18], 0x41
jne 0x463270
cmp byte [edi], 3
mov dword [ebp - 0x48], 1
je 0x464988
mov esi, dword [ebp - 0x6c]
jmp 0x4632a9
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x18], 0x13
mov dword [ebp - 0x48], 0
jne 0x4632a7
test eax, eax
je 0x4632a7
lea eax, [ebp + eax*4 - 0xdac]
mov eax, dword [eax - 4]
cmp dword [eax + 8], 4
jne 0x4632a7
mov esi, dword [eax]
mov al, byte [esi + 0x17]
test al, al
jne 0x4632a3
mov edx, dword [esi + 0xc]
mov al, byte [edx + 0x17]
cmp al, 1
je 0x4632a9
xor esi, esi
mov eax, dword [ebx]
test esi, esi
je 0x463362
mov ecx, dword [0x4d4b04]
mov edx, dword [ebp - 0x18]
cmp dword [ecx + 0xb4], edx
jne 0x4632d3
mov cl, byte [esi + 0x16]
and cl, 0x22
cmp cl, 2
je 0x463362
mov ecx, dword [ebx + 0xc]
cmp ecx, eax
jne 0x4632e9
mov edx, dword [ebx + 4]
push edx
mov edi, ecx
mov eax, esi
call fcn.00482cd0
jmp 0x46333b
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4632f0
mov ecx, dword [ebx]
sub eax, edx
sar eax, 1
cmp ecx, dword [0x4d95d0]
jne 0x463326
cmp eax, 0x40
jb 0x463326
push eax
mov edi, ecx
mov eax, esi
call fcn.00482cd0
xor eax, eax
mov dword [0x4d95d0], eax
mov dword [0x4d95d4], eax
jmp 0x46333b
push 1
push 0
push 0xffffffffffffffff
push ecx
push esi
call fcn.004825d0
test eax, eax
je 0x464a13
cmp dword [ebp - 0x48], 0
jne 0x464998
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x1c]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov eax, dword [eax + 0xc]
mov dword [ebx], esi
mov dword [ebx + 8], 4
jmp 0x4634f8
mov ecx, dword [ebx + 0xc]
mov edx, 1
test ecx, ecx
je 0x46338e
mov esi, dword [ebp - 0x30]
cmp esi, 0xc8
je 0x4649c0
cmp ecx, eax
jne 0x463383
xor edx, edx
mov dword [ebp + esi*4 - 0x5ac], ecx
inc esi
mov dword [ebp - 0x30], esi
mov ecx, dword [ebp - 0x28]
mov dword [ebx + 0xc], ecx
mov ecx, dword [ebx]
xor esi, esi
cmp word [ecx], si
jne 0x4633d5
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x44]
mov dword [ebx], 0x4af9bc
mov dword [ebx + 8], 5
mov dword [ebx + 4], esi
cmp eax, esi
je 0x4646b5
lea edx, [ebp - 0x3c]
push edx
lea ecx, [ebp - 0x40]
push ecx
push eax
call fcn.00482ef0
add esp, 0xc
jmp 0x4646b5
mov ecx, dword [ebp - 0x18]
cmp byte [ecx + 0x3d], 0
je 0x4633ec
cmp edx, esi
je 0x463427
xor edx, edx
cmp dword [ebp - 0x48], esi
sete dl
jmp 0x463427
cmp eax, dword [0x4d95d0]
jne 0x463422
xor edx, edx
cmp dword [ebp - 0x48], esi
jne 0x463427
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x18]
add ecx, 0x18
cmp eax, 0x41
je 0x463427
lea esp, [esp]
cmp eax, 0x3e
je 0x463422
mov eax, dword [ecx + 0x10]
add ecx, 0x10
cmp eax, 0x41
jne 0x463410
jmp 0x463427
mov edx, 1
mov eax, dword [ebx]
mov dword [ebx + 4], esi
mov dword [ebx + 8], 5
cmp edx, esi
je 0x4634f1
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x463440
mov edi, dword [ebp - 0x64]
mov ecx, dword [ebp + 0x20]
sub eax, edx
sar eax, 1
lea esi, [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 esi, eax
ja 0x463481
mov eax, dword [ebx]
add esi, esi
push esi
push eax
push edi
call fcn.004a3290
add esp, 0xc
add edi, esi
mov dword [ebp - 0x64], edi
mov dword [ebx], eax
jmp 0x4634fb
cmp esi, 0x1001
jae 0x4634b3
cmp dword [ebp - 0x54], 0x9c40
jae 0x4634b3
lea eax, [esi + esi]
call fcn.004a2520
mov eax, dword [ebx]
mov ecx, esp
lea edx, [esi + esi]
push edx
push eax
push ecx
call fcn.004a3290
add esp, 0xc
add dword [ebp - 0x54], esi
mov dword [ebx], eax
jmp 0x4634fb
cmp dword [ebp - 0x30], 0xc8
je 0x4649fd
lea eax, [esi + esi]
push eax
call fcn.0049932e
mov ecx, dword [ebp - 0x30]
add esp, 4
mov dword [ebp + ecx*4 - 0x5ac], eax
test eax, eax
je 0x4649fd
mov ecx, dword [ebx]
lea edx, [esi + esi]
push edx
push ecx
push eax
call fcn.004a3290
add esp, 0xc
inc dword [ebp - 0x30]
mov dword [ebx], eax
jmp 0x4634fb
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0xc], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x4646b5
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x40]
push edx
push eax
call fcn.00482ef0
add esp, 0xc
jmp 0x4646b5
cmp eax, 0x1f
jne 0x463569
cmp dword [ebx + 0xc], 0
je 0x46493f
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x46493f
dec eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + eax*4 - 0xdac]
mov ecx, dword [eax]
mov dword [ebx], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 4], edx
mov ecx, dword [eax + 8]
mov dword [ebx + 8], ecx
mov edx, dword [eax + 0xc]
mov dword [ebx + 0xc], edx
mov eax, dword [esi + 0xc]
mov dword [ebx + 0xc], eax
jmp 0x4646bf
cmp dword [ebp - 0x1c], 0
je 0x462ea2
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp + edx*4 - 0xdb0]
dec edx
cmp dword [edi + 8], 8
mov dword [ebp - 0x1c], edx
jge 0x462ea2
cmp eax, 0x20
jne 0x4635c6
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x462ea2
mov ecx, dword [eax + 0xc]
mov dword [edi + 0xc], ecx
mov edx, dword [edi]
mov dword [ebx], edx
mov dword [ebp - 0x20], eax
mov eax, dword [edi + 4]
mov dword [ebx + 4], eax
mov ecx, dword [edi + 8]
mov dword [ebx + 8], ecx
mov edx, dword [edi + 0xc]
mov dword [ebx + 0xc], edx
mov dword [edi + 8], 1
jmp 0x4646b5
add eax, 0xffffffee
cmp eax, 0x27
ja case.0x4635d5.20
movzx eax, byte [eax + 0x464dec]
jmp dword [eax*4 + 0x464de4]
mov ecx, edi
call fcn.0045a6e0
mov edx, dword [ebp - 0x1c]
mov esi, eax
mov dword [ebp - 0x84], esi
jmp 0x4635f6
mov esi, dword [ebp - 0x84]
mov eax, dword [ebx + 8]
lea ecx, [eax - 9]
mov dword [ebp - 0x58], 0
cmp ecx, 0x34
ja case.0x463613.11
movzx ecx, byte [ecx + 0x464e30]
jmp dword [ecx*4 + 0x464e14]
mov eax, esi
mov esi, edi
call fcn.0045a5c0
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], 1
jmp 0x4646b5
mov eax, esi
mov esi, edi
call fcn.0045a5c0
test eax, eax
jne 0x463fed
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
jmp 0x4646b5
cmp esi, 1
jne 0x46367e
push esi
mov ecx, edi
call fcn.0045a820
add esp, 4
neg eax
adc edx, 0
neg edx
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], esi
jmp 0x4646b5
cmp esi, 2
jne 0x463846
push 1
push 0
mov eax, edi
call fcn.0045a8b0
fchs
fstp qword [ebx]
add esp, 8
mov dword [ebx + 8], esi
jmp 0x4646b5
mov ecx, dword [edi + 8]
xor edx, edx
cmp eax, 0x3c
setge dl
mov dword [ebp - 0x28], edx
cmp ecx, 4
jne 0x463846
test esi, esi
je 0x46376c
cmp eax, 9
je 0x4636d1
mov dword [ebp - 0x34], 0xffffffff
cmp eax, 0x3c
jne 0x4636d8
mov dword [ebp - 0x34], 1
push 1
cmp esi, 1
jne 0x463703
mov ecx, edi
call fcn.0045a820
mov dword [ebx], eax
mov eax, dword [ebp - 0x34]
mov dword [ebx + 4], edx
cdq
add esp, 4
add eax, dword [ebx]
adc edx, dword [ebx + 4]
push edx
push eax
mov eax, dword [edi]
push eax
call fcn.0041a230
jmp 0x46371c
push 0
mov eax, edi
call fcn.0045a8b0
fst qword [ebx]
fiadd dword [ebp - 0x34]
mov ecx, dword [edi]
fstp qword [esp]
push ecx
call fcn.0041a260
cmp dword [ebp - 0x28], 0
je 0x463699
mov edi, dword [edi]
mov al, byte [edi + 0x17]
test al, al
jne 0x463735
mov edx, dword [edi + 0xc]
mov al, byte [edx + 0x17]
cmp al, 1
jne 0x463747
mov dword [ebx], edi
mov dword [ebx + 8], 4
jmp 0x4646b5
cmp esi, 1
jne 0x46375d
mov eax, dword [ebp - 0x34]
cdq
add dword [ebx], eax
mov dword [ebx + 8], esi
adc dword [ebx + 4], edx
jmp 0x4646b5
fild dword [ebp - 0x34]
mov dword [ebx + 8], esi
fadd qword [ebx]
fstp qword [ebx]
jmp 0x4646b5
cmp ecx, 4
jne 0x463846
mov eax, dword [edi]
cmp byte [eax + 0x17], 0
jne 0x463782
mov ecx, dword [eax + 0xc]
jmp 0x463784
mov ecx, eax
test byte [ecx + 0x15], 4
je 0x463795
push eax
mov ecx, 0x4d96d0
call fcn.0043a7b0
mov ecx, dword [edi]
call fcn.0041a1d0
cmp dword [ebp - 0x28], 0
je 0x463846
mov edi, dword [edi]
mov al, byte [edi + 0x17]
test al, al
jne 0x4637b5
mov eax, dword [edi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x463846
mov dword [ebx], edi
mov dword [ebx + 8], 4
jmp 0x4646b5
mov eax, dword [edi + 8]
cmp eax, 4
jne 0x463829
mov eax, dword [edi]
cmp byte [eax + 0x17], 0
jne 0x4637e0
mov ecx, dword [eax + 0xc]
jmp 0x4637e2
mov ecx, eax
test byte [ecx + 0x15], 2
je 0x463807
mov dword [ebx + 8], 1
mov edi, dword [edi]
cmp byte [edi + 0x17], 0
jne 0x4637fa
mov edi, dword [edi + 0xc]
mov eax, dword [edi]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x4646b5
call fcn.00403ff0
push 0
mov dword [ebx + 8], 1
mov ecx, dword [edi]
push 1
call fcn.00401220
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x4646b5
cmp eax, 6
jne 0x463846
mov dword [ebx + 8], 1
mov eax, dword [edi]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x4646b5
test esi, esi
jne 0x463858
mov dword [ebx], 0x4af9bc
mov dword [ebx + 8], 0
jmp 0x4646b5
xor ecx, ecx
cmp esi, 1
sete cl
push ecx
mov ecx, edi
call fcn.0045a820
add esp, 4
cmp dword [ebx + 8], 0x38
jne 0x4638a8
test edx, edx
ja 0x463893
jb 0x46387c
cmp eax, 0xffffffff
ja 0x463893
not eax
mov dword [ebx + 4], 0
mov dword [ebx], eax
mov dword [ebx + 8], 1
jmp 0x4646b5
not eax
not edx
mov dword [ebx + 4], edx
mov dword [ebx], eax
mov dword [ebx + 8], 1
jmp 0x4646b5
cmp eax, 0x1000
jae 0x4638c3
xor eax, eax
cdq
mov dword [ebx + 4], edx
mov dword [ebx], eax
mov dword [ebx + 8], 1
jmp 0x4646b5
movzx eax, byte [eax]
cdq
mov dword [ebx + 4], edx
mov dword [ebx], eax
mov dword [ebx + 8], 1
jmp 0x4646b5
test edx, edx
je 0x462ea2
dec edx
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp + edx*4 - 0xdac]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x50], edx
cmp ecx, 8
jge 0x462ea2
cmp eax, 0x12
jne 0x463937
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 edx, dword [ebp - 0x20]
mov dword [ebx + 0xc], ecx
cmp dword [ebx + 8], 6
mov eax, dword [edx + 0xc]
mov dword [ebx + 0xc], eax
jne 0x4646b5
mov eax, dword [ebx]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
jmp 0x4646b5
cmp eax, 0x1e
jg 0x463a37
cmp eax, 0x13
jl 0x463a37
cmp ecx, 4
je 0x463960
mov dword [ebx], 0x4af9bc
mov dword [ebx + 8], 0
jmp 0x4646b5
add eax, 0xffffffed
cmp eax, 0xb
ja case.default.0x46396c
jmp dword [eax*4 + 0x464e68]
mov esi, dword [ebp - 0x50]
mov ebx, dword [esi]
mov eax, edi
call fcn.00481ef0
test eax, eax
je 0x464c12
mov ecx, dword [esi]
mov al, byte [ecx + 0x17]
test al, al
jne 0x463996
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
mov ebx, dword [ebp - 0x60]
cmp al, 2
mov eax, ebx
jne 0x4639c3
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 0x4646b5
mov dword [eax], ecx
mov dword [eax + 8], 4
jmp 0x4646b5
mov dword [ebx + 8], 0x31
jmp case.default.0x46396c
mov dword [ebx + 8], 0x32
jmp case.default.0x46396c
mov dword [ebx + 8], 0x33
jmp case.default.0x46396c
mov dword [ebx + 8], 0x34
jmp case.default.0x46396c
mov dword [ebx + 8], 0x35
jmp case.default.0x46396c
mov dword [ebx + 8], 0x2c
jmp case.default.0x46396c
mov dword [ebx + 8], 0x2d
jmp case.default.0x46396c
mov dword [ebx + 8], 0x2e
jmp case.default.0x46396c
mov dword [ebx + 8], 0x2f
jmp case.default.0x46396c
mov dword [ebx + 8], 0x30
jmp case.default.0x46396c
mov dword [ebx + 8], 0x2b
mov eax, dword [edx]
mov dword [ebp - 0x58], eax
cmp dword [ebx + 8], 0x2b
je 0x463fa1
test esi, esi
je 0x463fa1
mov ecx, dword [ebp - 0x50]
call fcn.0045a6e0
mov dword [ebp - 0x48], eax
test eax, eax
je 0x463fa1
cmp esi, 1
jne 0x463a6b
cmp eax, esi
jne 0x463a6b
cmp dword [ebx + 8], 0x34
jne 0x463a80
mov eax, dword [ebx + 8]
cmp eax, 0x30
jg 0x463d4a
cmp eax, 0x2c
jl 0x463d4a
xor ecx, ecx
cmp esi, 1
sete cl
push ecx
mov ecx, edi
call fcn.0045a820
mov ecx, dword [ebp - 0x50]
mov esi, edx
xor edx, edx
add esp, 4
cmp dword [ebp - 0x48], 1
mov edi, eax
sete dl
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x70], esi
push edx
call fcn.0045a820
mov ecx, dword [ebx + 8]
add ecx, 0xffffffdc
add esp, 4
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x24], 1
cmp ecx, 0x17
ja case.0x463ace.43
jmp dword [ecx*4 + 0x464e98]
add eax, edi
adc edx, esi
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
sub eax, edi
sbb edx, esi
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
push esi
push edi
push edx
push eax
call fcn.0049dbd0
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
cmp eax, edi
jne 0x463b35
cmp edx, esi
jne 0x463b35
mov edx, dword [ebp - 0x24]
mov eax, 1
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
mov edx, dword [ebp - 0x24]
xor eax, eax
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
cmp eax, edi
jne 0x463b51
cmp edx, esi
je 0x463b35
mov edx, dword [ebp - 0x24]
mov eax, 1
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
cmp edx, esi
jl 0x463b35
jg 0x463b72
cmp eax, edi
jbe 0x463b35
mov edx, dword [ebp - 0x24]
mov eax, 1
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
cmp edx, esi
jg 0x463b35
jl 0x463b93
cmp eax, edi
jae 0x463b35
mov edx, dword [ebp - 0x24]
mov eax, 1
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
cmp edx, esi
jl 0x463b35
jg 0x463bb4
cmp eax, edi
jb 0x463b35
mov edx, dword [ebp - 0x24]
mov eax, 1
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
cmp edx, esi
jg 0x463b35
jl 0x463bdd
cmp eax, edi
ja 0x463b35
mov edx, dword [ebp - 0x24]
mov eax, 1
xor ecx, ecx
mov dword [ebx + 4], ecx
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
and eax, edi
and edx, esi
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
or eax, edi
or edx, esi
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
xor eax, edi
xor edx, esi
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
mov ecx, edi
call fcn.004aa8a0
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
mov ecx, edi
call fcn.004aa870
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
mov ecx, edi
or ecx, dword [ebp - 0x70]
jne 0x463c78
mov edx, ecx
mov dword [ebx], 0x4af9bc
mov dword [ebp - 0x24], ecx
mov dword [ebx + 8], edx
jmp 0x46467d
mov ecx, dword [ebp - 0x70]
push ecx
push edi
push edx
push eax
call fcn.004a9eb0
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46467d
mov ecx, eax
or ecx, edx
jne 0x463cbc
test esi, esi
jg 0x463d0c
jl 0x463ca4
test edi, edi
jae 0x463d0c
mov dword [ebp - 0x24], 0
mov edx, dword [ebp - 0x24]
mov dword [ebx], 0x4af9bc
mov dword [ebx + 8], edx
jmp 0x46467d
test edx, edx
jg 0x463d0c
jl 0x463cc6
test eax, eax
jae 0x463d0c
neg eax
adc edx, 0
neg edx
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
fild qword [ebp - 0x74]
sub esp, 0x10
fstp qword [esp + 8]
fild qword [ebp - 0x7c]
fstp qword [esp]
call fcn.0043b7c0
cmp dword [ebp - 0x28], 0
fst qword [ebx]
je 0x463d15
push 0
push 2
push esi
push edi
call fcn.004aa7b0
or eax, edx
je 0x463d15
fchs
fstp qword [ebx]
jmp 0x463d17
mov dword [ebp - 0x28], 0
jmp 0x463cda
fstp st(0)
test esi, esi
jg 0x463d33
jl 0x463d21
test edi, edi
jae 0x463d33
mov dword [ebp - 0x24], 2
mov edx, dword [ebp - 0x24]
mov dword [ebx + 8], edx
jmp 0x46467d
fld qword [ebx]
call fcn.004a9e36
mov dword [ebx + 4], edx
mov dword [ebx], eax
mov edx, dword [ebp - 0x24]
mov dword [ebx + 8], edx
jmp 0x46467d
xor eax, eax
cmp esi, 2
sete al
push eax
push 1
mov eax, edi
call fcn.0045a8b0
fstp qword [ebp - 0x2c]
mov eax, dword [ebp - 0x50]
xor ecx, ecx
cmp dword [ebp - 0x48], 2
sete cl
push ecx
push 1
call fcn.0045a8b0
fst qword [ebp - 0x4c]
mov ecx, dword [ebx + 8]
add esp, 0x10
cmp ecx, 0x24
jl 0x463d8b
mov edi, 1
cmp ecx, 0x2a
jle 0x463d90
mov edi, 2
lea eax, [ecx - 0x24]
cmp eax, 0x17
ja case.0x463d9f.43
movzx edx, byte [eax + 0x464f28]
jmp dword [edx*4 + 0x464ef8]
fadd qword [ebp - 0x2c]
mov dword [ebx + 8], edi
fstp qword [ebx]
jmp 0x46467d
fsub qword [ebp - 0x2c]
mov dword [ebx + 8], edi
fstp qword [ebx]
jmp 0x46467d
fmul qword [ebp - 0x2c]
mov dword [ebx + 8], edi
fstp qword [ebx]
jmp 0x46467d
fld qword [ebp - 0x2c]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x463df1
fstp st(1)
mov dword [ebx], 0x4af9bc
xor edi, edi
fstp st(0)
mov dword [ebx + 8], edi
jmp 0x46467d
fdivp st(1)
fst qword [ebx]
cmp ecx, 0x35
jne case.0x463d9f.43
sub esp, 8
fstp qword [esp]
call fcn.0043b820
fstp qword [ebx]
mov dword [ebx + 8], edi
jmp 0x46467d
fld qword [ebp - 0x2c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x463e2f
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x46467d
xor eax, eax
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x46467d
fld qword [ebp - 0x2c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x463e2f
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x46467d
fcomp qword [ebp - 0x2c]
fnstsw ax
test ah, 0x41
jne 0x463e2f
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x46467d
fcomp qword [ebp - 0x2c]
fnstsw ax
test ah, 5
jp 0x463e2f
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x46467d
fcomp qword [ebp - 0x2c]
fnstsw ax
test ah, 1
jne 0x463e2f
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x46467d
fcomp qword [ebp - 0x2c]
fnstsw ax
test ah, 0x41
jp 0x463e2f
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x46467d
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x463eee
mov esi, 1
jmp 0x463ef0
xor esi, esi
fld st(1)
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x463f19
fcomp qword [ebp - 0x2c]
fnstsw ax
test ah, 0x41
jne 0x463f1b
fstp st(0)
xor edi, edi
mov dword [ebx], 0x4af9bc
mov dword [ebx + 8], edi
jmp 0x46467d
fstp st(0)
test esi, esi
je 0x463f45
fstp st(0)
sub esp, 0x10
fld1
fstp qword [esp + 8]
fld qword [ebp - 0x2c]
fstp qword [esp]
call fcn.0043b850
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x463f09
fld qword [ebp - 0x4c]
fchs
fld qword [ebp - 0x2c]
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
call fcn.0043b7c0
fstp qword [ebx]
test esi, esi
je 0x463de9
fld qword [0x4cece0]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ebp - 0x2c]
fstp qword [esp]
call fcn.0043b850
sub esp, 8
fstp qword [esp]
call fcn.0043b7b0
fld1
fucompp
fnstsw ax
test ah, 0x44
jp 0x463de9
fld qword [ebx]
mov dword [ebx + 8], edi
fchs
fstp qword [ebx]
jmp 0x46467d
mov eax, dword [ebx + 8]
add eax, 0xffffffdc
cmp eax, 2
ja 0x464002
mov ecx, edi
call fcn.0045aac0
mov ecx, dword [ebp - 0x50]
mov esi, eax
call fcn.0045aac0
test esi, esi
jne 0x463fc5
test eax, eax
je 0x464002
xor ecx, ecx
cmp esi, eax
sete cl
xor edx, edx
cmp dword [ebx + 8], 0x26
setne dl
cmp edx, ecx
jne 0x463fed
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
jmp 0x4646b5
xor eax, eax
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], 1
jmp 0x4646b5
lea ecx, [ebp - 0xfac]
mov eax, edi
call fcn.0045a960
mov esi, eax
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x28c]
call fcn.0045a960
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 8]
add eax, 0xffffffdc
mov dword [ebp - 0x24], 1
cmp eax, 7
ja case.default.0x464038
jmp dword [eax*4 + 0x464f40]
mov eax, dword [0x4d4b04]
cmp byte [eax + 0xf2], 0
push esi
jne 0x46405c
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00498e69
add esp, 8
jmp 0x464066
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x46407b
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x464677
xor eax, eax
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x464677
mov eax, dword [ebp - 0x14]
lea esp, [esp]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4640b6
test cx, cx
je 0x4640b2
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4640b6
add eax, 4
add esi, 4
test cx, cx
jne 0x464090
xor eax, eax
jmp 0x4640bb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46407b
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x464677
mov eax, dword [0x4d4b04]
mov al, byte [eax + 0xf2]
test al, al
jne 0x464100
mov ecx, dword [ebp - 0x14]
push esi
push ecx
call fcn.00498e69
xor ecx, ecx
add esp, 8
test eax, eax
setne cl
mov eax, ecx
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x464677
cmp al, 2
jne 0x464123
mov edx, dword [ebp - 0x14]
push esi
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x464677
mov eax, dword [ebp - 0x14]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x46415e
test cx, cx
je 0x464148
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x46415e
add eax, 4
add esi, 4
test cx, cx
jne 0x464126
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x464677
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x464677
mov edx, dword [0x4d4b04]
mov al, byte [edx + 0xf2]
test al, al
jne 0x464196
mov eax, dword [ebp - 0x14]
push esi
push eax
call fcn.00498e69
add esp, 8
jmp 0x4641db
cmp al, 2
jne 0x4641a7
mov ecx, dword [ebp - 0x14]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x4641db
mov eax, dword [ebp - 0x14]
lea ebx, [ebx]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4641d6
test cx, cx
je 0x4641d2
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4641d6
add eax, 4
add esi, 4
test cx, cx
jne 0x4641b0
xor eax, eax
jmp 0x4641db
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jle 0x46407b
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x464677
mov edx, dword [0x4d4b04]
mov al, byte [edx + 0xf2]
test al, al
jne 0x464213
mov eax, dword [ebp - 0x14]
push esi
push eax
call fcn.00498e69
add esp, 8
jmp 0x464252
cmp al, 2
jne 0x464224
mov ecx, dword [ebp - 0x14]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x464252
mov eax, dword [ebp - 0x14]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x46424d
test cx, cx
je 0x464249
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x46424d
add eax, 4
add esi, 4
test cx, cx
jne 0x464227
xor eax, eax
jmp 0x464252
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jns 0x46407b
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x464677
mov edx, dword [0x4d4b04]
mov al, byte [edx + 0xf2]
test al, al
jne 0x46428a
mov eax, dword [ebp - 0x14]
push esi
push eax
call fcn.00498e69
add esp, 8
jmp 0x4642cb
cmp al, 2
jne 0x46429b
mov ecx, dword [ebp - 0x14]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x4642cb
mov eax, dword [ebp - 0x14]
mov edi, edi
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4642c6
test cx, cx
je 0x4642c2
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4642c6
add eax, 4
add esi, 4
test cx, cx
jne 0x4642a0
xor eax, eax
jmp 0x4642cb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, 0xffffffff
jle 0x46407b
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x464677
mov edx, dword [0x4d4b04]
mov al, byte [edx + 0xf2]
test al, al
jne 0x464304
mov eax, dword [ebp - 0x14]
push esi
push eax
call fcn.00498e69
add esp, 8
jmp 0x464343
cmp al, 2
jne 0x464315
mov ecx, dword [ebp - 0x14]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x464343
mov eax, dword [ebp - 0x14]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x46433e
test cx, cx
je 0x46433a
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x46433e
add eax, 4
add esi, 4
test cx, cx
jne 0x464318
xor eax, eax
jmp 0x464343
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, 1
jge 0x46407b
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x464677
cmp dword [edi + 8], 4
jne 0x46436c
mov eax, dword [edi]
call fcn.0041a620
jmp 0x464380
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x464371
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x58], 0
mov dword [ebp - 0x34], eax
je 0x4643aa
mov edx, eax
mov eax, dword [ebp - 0x58]
push edx
push esi
call fcn.00482c40
test eax, eax
je 0x4643aa
mov eax, dword [ebp - 0x58]
mov dword [ebx], eax
mov dword [ebx + 8], 4
jmp 0x4646b5
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 8], 4
jne 0x4643be
mov edx, ecx
mov eax, dword [edx]
call fcn.0041a620
jmp 0x4643d3
mov eax, dword [ebp - 0x14]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4643c4
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x58], 0
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x18]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x48], edx
jne 0x464593
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x46440c
cmp dword [ebp - 0x1c], 0
jne 0x46440c
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x18], 0x41
jne 0x46440c
mov dword [ebp - 0x28], 1
jmp 0x464456
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x18], 0x13
jne 0x464593
cmp dword [ebp - 0x1c], 0
je 0x464593
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xdb0]
cmp dword [eax + 8], 4
jne 0x464593
mov eax, dword [eax]
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x464446
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x464593
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], eax
test eax, eax
je 0x464593
push 0
push 0
mov ecx, eax
call fcn.00401220
cmp eax, 0x4d9624
jne 0x464475
xor eax, eax
cmp eax, dword [ebp - 0x14]
jne 0x4644c6
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
push edx
push esi
call fcn.00482c40
test eax, eax
je 0x464593
cmp dword [ebp - 0x28], 0
jne case.0x464b10.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 - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xdb0]
mov edx, dword [ecx]
dec eax
mov dword [ebp - 0x1c], eax
mov dword [ebx], edx
mov dword [ebx + 8], 4
jmp 0x4646b5
cmp eax, esi
je 0x464593
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x24]
push 1
push 0
dec eax
push eax
push 0
push ecx
call fcn.004825d0
test eax, eax
je 0x464c12
mov ecx, dword [ebp - 0x24]
push 0
push 1
call fcn.00401220
cmp dword [ebp - 0x18], 0
mov edi, eax
je 0x464512
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
lea eax, [edx + edx]
push eax
push ecx
push edi
call fcn.004a3290
add esp, 0xc
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x18]
lea eax, [edx + edx + 2]
push eax
lea edx, [edi + ecx*2]
push esi
push edx
call fcn.004a3290
mov eax, dword [ebp - 0x24]
add esp, 0xc
cmp byte [eax + 0x17], 0
jne 0x46453a
mov ecx, eax
mov eax, dword [ecx + 0xc]
jmp 0x46453d
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x17], 2
jne 0x464558
cmp dword [0x4d96c0], 0
je 0x464558
mov ecx, 0x4d96b4
call fcn.00405010
jmp 0x46455c
and byte [eax + 0x15], 0x86
cmp dword [ebp - 0x28], 0
jne case.0x464b10.3
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x1c]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebx + 0xc], edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + eax*4 - 0xdac]
mov ecx, dword [eax]
mov dword [ebx], ecx
mov dword [ebx + 8], 4
jmp 0x4646b5
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp + 0x1c]
mov edx, eax
sub edx, dword [ecx]
mov ecx, dword [ebp + 0x20]
mov ecx, dword [ecx]
sar edx, 1
sub ecx, edx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [ebp - 0x28]
ja 0x4645bb
mov dword [ebx], eax
lea eax, [eax + ecx*2]
mov dword [ebp - 0x64], eax
jmp 0x464615
cmp ecx, 0x1001
jae 0x4645e2
cmp dword [ebp - 0x54], 0x9c40
jae 0x4645e2
mov eax, dword [ebp - 0x48]
add eax, eax
call fcn.004a2520
mov ecx, dword [ebp - 0x48]
add dword [ebp - 0x54], ecx
mov eax, esp
mov dword [ebx], eax
jmp 0x464615
cmp dword [ebp - 0x30], 0xc8
je 0x464bfe
mov edx, dword [ebp - 0x48]
lea eax, [edx + edx]
push eax
call fcn.0049932e
mov ecx, dword [ebp - 0x30]
add esp, 4
mov dword [ebp + ecx*4 - 0x5ac], eax
mov dword [ebx], eax
test eax, eax
je 0x464bfe
inc dword [ebp - 0x30]
cmp dword [ebp - 0x18], 0
je 0x464631
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
lea eax, [edx + edx]
mov edx, dword [ebx]
push eax
push ecx
push edx
call fcn.004a3290
add esp, 0xc
mov eax, dword [ebp - 0x34]
mov edx, dword [ebx]
lea ecx, [eax + eax + 2]
mov eax, dword [ebp - 0x18]
push ecx
lea ecx, [edx + eax*2]
push esi
push ecx
call fcn.004a3290
mov edx, dword [ebp - 0x50]
add esp, 0xc
cmp dword [edx + 8], 0
je 0x464670
cmp dword [edi + 8], 0
je 0x464670
mov dword [ebp - 0x24], 5
mov dword [ebx + 4], 0
jmp 0x464677
mov dword [ebx], 0x4af9bc
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x24]
mov dword [ebx + 8], eax
cmp dword [ebp - 0x58], 0
je 0x4646b5
mov eax, ebx
mov ebx, dword [ebp - 0x58]
call fcn.00481ef0
test eax, eax
je 0x464c12
mov al, byte [ebx + 0x17]
test al, al
jne 0x4646a2
mov ecx, dword [ebx + 0xc]
mov al, byte [ecx + 0x17]
cmp al, 2
je 0x4646b2
mov eax, dword [ebp - 0x60]
mov dword [eax], ebx
mov dword [eax + 8], 4
mov ebx, dword [ebp - 0x60]
cmp dword [ebx + 0xc], 0
je 0x4648ec
mov eax, dword [ebx + 8]
lea ecx, [eax - 1]
cmp ecx, 4
ja case.0x4646ce.3
jmp dword [ecx*4 + 0x464f60]
mov esi, dword [ebx]
cmp byte [esi + 0x17], 0
jne 0x4646e0
mov esi, dword [esi + 0xc]
movzx eax, byte [esi + 0x15]
and eax, 0x70
cmp eax, 0x10
je 0x464731
cmp eax, 0x20
je 0x464724
cmp eax, 0x40
je case.0x4646ce.3
push 0
push 1
push 0
push 1
push 0
push 0
mov ecx, esi
call fcn.00401220
call fcn.0047f180
add esp, 0x10
test eax, eax
jne case.0x4646ce.1
mov cl, byte [esi + 0x15]
test cl, cl
js case.0x4646ce.1
or cl, 0x40
mov byte [esi + 0x15], cl
jmp case.0x4646ce.1
mov eax, 2
jmp case.0x4646ce.1
cmp dword [ebx + 4], 0
je 0x464738
mov eax, 1
jmp case.0x4646ce.1
mov eax, dword [ebx]
push 0
push 1
push 0
push 1
call fcn.0047f180
add esp, 0x10
jmp case.0x4646ce.1
xor eax, eax
dec eax
je 0x464833
dec eax
mov eax, dword [ebx + 8]
je 0x464793
cmp eax, 6
je 0x4648e2
cmp eax, 4
jne 0x46477e
mov eax, dword [ebx]
cmp byte [eax + 0x17], 0
jne 0x464774
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 2
jne 0x4648e2
xor ecx, ecx
mov eax, ebx
call fcn.0045a960
xor edx, edx
cmp word [eax], dx
setne dl
mov esi, edx
jmp 0x4647da
dec eax
cmp eax, 5
ja case.0x464799.3
jmp dword [eax*4 + 0x464f74]
fild qword [ebx]
jmp 0x4647c9
fld qword [ebx]
jmp 0x4647c9
mov eax, dword [ebx]
push 1
call fcn.0041a380
jmp 0x4647c9
mov eax, dword [ebx + 4]
test eax, eax
je case.0x464799.3
fild qword [eax]
jmp 0x4647c9
mov eax, dword [ebx]
push eax
call fcn.0049b7e2
add esp, 4
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x4648e2
xor esi, esi
cmp dword [ebx + 8], 6
jne 0x4647ea
mov eax, dword [ebx]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebx + 0xc]
cmp dword [ecx + 8], 0x20
je 0x464938
mov edi, 0x20
xor edx, edx
cmp dword [ecx + 8], 0x21
sete dl
cmp esi, edx
jne 0x46493f
mov dword [ebp - 0x20], ecx
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x46481c
cmp dword [ecx + 8], edi
jne 0x4647fc
mov eax, esi
cdq
mov dword [ebx + 8], 1
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 0xc], ecx
jmp 0x4646b5
mov eax, dword [ebx + 8]
dec eax
cmp eax, 5
ja case.0x46483c.3
jmp dword [eax*4 + 0x464f8c]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
jmp 0x4648da
mov ecx, dword [ebx + 4]
test ecx, ecx
je case.0x46483c.3
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
jmp 0x4648da
fld qword [ebx]
call fcn.004a9e36
jmp 0x4648da
mov eax, dword [ebx]
push 1
call fcn.0041a300
jmp 0x4648da
mov esi, dword [ebx]
mov eax, esi
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x464883
cmp ecx, 9
jne 0x464888
add eax, 2
jmp 0x464876
movzx ecx, word [eax]
test cx, cx
je 0x4648d1
cmp ecx, 0x2d
je 0x46489a
cmp ecx, 0x2b
jne 0x46489d
add eax, 2
cmp word [eax], 0x30
jne 0x4648d1
movzx ecx, word [eax + 2]
cmp ecx, 0x78
je 0x4648b1
cmp ecx, 0x58
jne 0x4648d1
movzx ecx, word [eax + 4]
push ecx
call fcn.00498fc9
add esp, 4
test eax, eax
je 0x4648d1
push 0x10
push 0
push esi
call fcn.004992a0
add esp, 0xc
jmp 0x4648da
push esi
call fcn.00499318
add esp, 4
or eax, edx
je case.0x46483c.6
mov esi, 1
jmp 0x4647da
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x1c]
cmp esi, edi
jle 0x46491c
jmp 0x464900
mov eax, dword [ebp + esi*4 - 0xdb0]
dec esi
cmp dword [eax + 8], 6
jne 0x464918
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp esi, edi
jg 0x464900
mov esi, dword [ebp - 0x20]
mov dword [ebp + edi*4 - 0xdac], ebx
mov ebx, dword [ebp + 0x18]
inc edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x68], edi
add esi, 0x10
jmp 0x462c33
test esi, esi
jne 0x46493f
mov dword [ebp - 0x20], ecx
mov esi, dword [ebp - 0x20]
mov ebx, dword [ebp + 0x18]
add esi, 0x10
jmp 0x462c33
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x18]
push edx
jmp 0x464c03
cmp dword [esi], 1
je 0x464960
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x44]
cmp eax, edi
je case.0x464b10.3
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x40]
push edx
push eax
call fcn.00482ef0
add esp, 0xc
jmp case.0x464b10.3
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x464998
push ebx
call fcn.004993cd
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x44]
test eax, eax
je case.0x464b10.3
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x40]
push edx
push eax
call fcn.00482ef0
add esp, 0xc
jmp case.0x464b10.3
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 4]
push ecx
push 0
push str.Out_of_memory.
mov ecx, edi
call fcn.00439e50
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x464c12
lea edx, [ebp - 0x3c]
push edx
lea ecx, [ebp - 0x40]
push ecx
push eax
call fcn.00482ef0
add esp, 0xc
jmp 0x464c12
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 8]
push eax
push 0
push str.Out_of_memory.
call fcn.00439e50
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x464c12
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x40]
push edx
push eax
call fcn.00482ef0
add esp, 0xc
jmp 0x464c12
mov eax, dword [ebp + 8]
mov cl, byte [eax]
cmp cl, 3
je case.0x464b10.3
cmp dword [ebp - 0x1c], 1
jne 0x462ea2
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0xdac]
mov esi, eax
test edx, edx
je 0x464a76
mov ebx, edx
call fcn.00481ef0
test eax, eax
je 0x464c12
jmp case.0x464b10.3
cmp cl, 0x11
je 0x464cf8
cmp cl, 0x6b
je 0x464cf8
cmp cl, 0x6c
je 0x464cf8
mov edx, dword [ebp + 0x14]
test edx, edx
je 0x464aff
mov ecx, dword [eax + 8]
cmp ecx, 1
je 0x464ae8
cmp ecx, 2
je 0x464ae8
cmp ecx, 6
je 0x464ae8
cmp ecx, 4
jne 0x464aff
mov ecx, dword [eax]
cmp byte [ecx + 0x17], 0
jne 0x464aba
mov ecx, dword [ecx + 0xc]
test byte [ecx + 0x15], 2
je 0x464aff
mov dword [edx + 8], 6
mov eax, dword [eax]
cmp byte [eax + 0x17], 0
jne 0x464ad2
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, 0x4af9bc
jmp 0x464d5f
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, 0x4af9bc
jmp 0x464d5f
mov ecx, dword [ebx]
mov dword [ebp - 0x38], ecx
mov ecx, dword [eax + 8]
cmp ecx, 6
ja case.0x464b10.3
jmp dword [ecx*4 + 0x464fa4]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov edi, dword [ebp - 0x38]
push edx
push eax
call fcn.00401050
add esp, 8
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x464b30
sub eax, edx
sar eax, 1
lea ecx, [eax + eax + 2]
add dword [ebx], ecx
jmp case.0x464b10.3
mov edx, dword [0x4d4b04]
fld qword [eax]
mov edi, dword [ebp - 0x38]
sub esp, 8
add edx, 0x74
fstp qword [esp]
push edx
mov esi, pe_nt_image_headers32
call fcn.0047f320
lea ecx, [eax + eax + 2]
mov eax, dword [ebp + 0x18]
add esp, 0xc
add dword [eax], ecx
jmp case.0x464b10.3
cmp ecx, 4
jne 0x464b98
mov ecx, dword [eax]
push 0
push 1
call fcn.00401220
mov edi, eax
mov eax, dword [esi]
mov dword [ebp + 0x14], edi
call fcn.0041a620
jmp 0x464bb2
mov eax, dword [eax]
mov dword [ebp + 0x14], eax
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x464ba0
mov edi, dword [ebp + 0x14]
sub eax, edx
sar eax, 1
mov edx, dword [ebp + 0xc]
lea ebx, [eax + 1]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add edx, edx
movzx eax, word [ecx + edx*8 + 2]
mov edx, 0xff
cmp ax, dx
jae 0x464bd1
mov eax, edx
mov ecx, dword [ebp + 0x28]
lea eax, [eax + ecx + 1]
cmp ebx, eax
jbe 0x464cda
mov edx, dword [ebp + 0x20]
mov esi, dword [edx]
sub esi, eax
add esi, ebx
lea eax, [esi + esi]
push eax
mov dword [ebp + 0x28], esi
call fcn.0049932e
mov edi, eax
add esp, 4
test edi, edi
jne 0x464c27
push 0x4af9bc
mov ecx, dword [ebp + 8]
push 0
push str.Out_of_memory.
call fcn.00439e50
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x38], 0
mov dword [ecx], 0
jmp case.0x464b10.3
cmp esi, 0x400000
jbe 0x464c35
inc dword [0x4d95d8]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
mov eax, dword [edx]
mov esi, dword [ecx]
sub esi, eax
sar esi, 1
je 0x464c53
lea edx, [esi + esi]
push edx
push eax
push edi
call fcn.004a3290
add esp, 0xc
mov ecx, dword [ebp + 0x18]
lea eax, [edi + esi*2]
lea edx, [ebx + ebx]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x14]
push edx
push ecx
push eax
mov dword [ebp - 0x38], eax
call fcn.004a3290
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
add esp, 0xc
push eax
call fcn.004993cd
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx]
add esp, 4
cmp eax, 0x400000
jbe 0x464c8f
dec dword [0x4d95d8]
mov edx, dword [ebp + 0x1c]
mov edx, dword [edx]
xor ecx, ecx
lea eax, [edx + eax*2]
mov dword [ebp + 8], eax
cmp dword [ebp + 0xc], ecx
jle 0x464cc3
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + ecx*4]
cmp eax, edx
jb 0x464cbd
cmp eax, dword [ebp + 8]
jae 0x464cbd
mov esi, dword [ebp + 0x24]
sub eax, edx
sar eax, 1
lea eax, [edi + eax*2]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, dword [ebp + 0xc]
jl 0x464ca1
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp + 0x18]
mov dword [ecx], edi
mov dword [eax], edx
lea edx, [ebx + ebx]
add dword [esi], edx
jmp case.0x464b10.3
mov esi, dword [ebp + 0x18]
mov eax, dword [esi]
cmp eax, edi
je 0x464cf1
lea ecx, [ebx + ebx]
push ecx
push edi
push eax
call fcn.0049a200
add esp, 0xc
lea edx, [ebx + ebx]
add dword [esi], edx
jmp case.0x464b10.3
mov ecx, dword [eax + 8]
cmp ecx, 6
ja case.0x464d04.3
jmp dword [ecx*4 + 0x464fc0]
mov ecx, dword [eax]
or ecx, dword [eax + 4]
jne case.0x464d04.6
mov dword [ebp - 0x38], 0x4af9bc
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x464d39
mov eax, dword [ebp + esi*4 - 0x5b0]
dec esi
push eax
call fcn.004993cd
add esp, 4
test esi, esi
jne 0x464d24
mov esi, dword [ebp - 0x68]
test esi, esi
je 0x464d5c
mov eax, dword [ebp + esi*4 - 0xdb0]
dec esi
cmp dword [eax + 8], 6
jne 0x464d58
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
test esi, esi
jne 0x464d40
mov eax, dword [ebp - 0x38]
lea esp, [ebp - 0xfbc]
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.0x464d04.6
jmp case.0x464b10.6
mov ecx, dword [eax + 4]
test ecx, ecx
je case.0x464d04.0
mov edx, dword [ecx]
or edx, dword [ecx + 4]
jmp 0x464d10
mov eax, dword [eax]
call fcn.0045a4e0
jmp 0x464dad
mov esi, dword [eax]
call fcn.0045a540
jmp 0x464dad
mov eax, dword [ebp + 8]
test eax, eax
je case.0x464b10.6
mov dword [ebp - 0x38], 0x4b356c
jmp case.0x464b10.3