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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4abc38
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 0x4648eb
mov eax, 0x10
call fcn.004a7170
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 0x462fc1
cmp eax, 7
jne 0x464565
mov esi, dword [ebx + 4]
test esi, esi
je 0x462def
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 0x462b97
movzx edx, word [ecx + 0xa]
cmp word [esi + edx*2], di
jne 0x462b97
cmp byte [ecx + 0x14], 0
je 0x462b97
mov edx, dword [ecx + 4]
cmp byte [edx + 0x17], 0
jne 0x462b6d
mov edx, dword [edx + 0xc]
test byte [edx + 0x15], 2
je 0x462b97
mov dword [ebx + 8], 6
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0x17], 0
jne 0x462b86
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 0x464565
test eax, eax
je 0x462cae
cmp esi, eax
mov eax, dword [ebp - 0x14]
jae 0x462bc1
cmp edi, 0xfd
jae 0x462bc9
mov cx, word [esi]
mov word [ebp + edi*2 - 0x28c], cx
add esi, 2
inc edi
cmp esi, dword [eax]
jb 0x462ba6
cmp edi, 0xfd
jb 0x462bd1
cmp esi, dword [eax]
jb 0x462d36
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
movzx eax, byte [eax + 0x17]
cmp eax, 3
ja case.default.0x462be0
jmp dword [eax*4 + 0x464c74]
mov eax, dword [ebp - 0x18]
call fcn.00401160
cmp dword [0x4d880c], 0
jne 0x462c30
mov edx, dword [ebp - 0x18]
cmp dword [edx + 0xc], 0
jne 0x462c30
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 0x462c24
mov dword [0x4dac38], 0
dec eax
jmp 0x462c70
mov eax, dword [ebp - 0x18]
mov dword [0x4dac38], eax
xor eax, eax
jmp 0x462c70
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0xc]
shr eax, 1
jmp 0x462c70
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx + 0xc]
push 0
call fcn.00482870
jmp 0x462c70
xor ecx, ecx
call fcn.00404d30
cmp eax, 0xffffffff
jne 0x462c70
xor eax, eax
jmp 0x462c70
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 0x462d36
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 4]
lea edx, [ebp + edi*2 - 0x28c]
push edx
call fcn.00482870
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 0x462b9f
movzx eax, word [esi]
test ax, ax
je 0x462cd2
cmp edi, 0xfd
jae 0x462cda
add esi, 2
mov word [ebp + edi*2 - 0x28c], ax
movzx eax, word [esi]
inc edi
test ax, ax
jne 0x462cb6
cmp edi, 0xfd
jb 0x462ce0
cmp word [esi], 0
jne 0x462d36
mov eax, dword [ebp - 0x14]
test edi, edi
jne 0x462ced
cmp byte [eax + 8], 0
je 0x462d39
xor edx, edx
mov word [ebp + edi*2 - 0x28c], dx
cmp byte [eax + 8], dl
je 0x462d8b
lea eax, [edi + edi + 2]
mov dword [ebx + 8], edx
call fcn.004a2390
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 0x462d20
mov dword [ebx], esi
jmp 0x464565
mov eax, dword [ebp - 0x14]
cmp dword [eax], 0
je 0x462d48
mov edi, edi
add eax, 0xc
cmp dword [eax], 0
jne 0x462d40
cmp byte [eax + 8], 0
je 0x464565
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je case.0x4649c0.3
mov eax, dword [ebp - 0x38]
test eax, eax
je case.0x4649c0.3
push 1
push 0
push 0xffffffffffffffff
push eax
push ecx
call fcn.004824a0
test eax, eax
jne case.0x4649c0.3
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
jmp case.0x4649c0.3
cmp word [ebp - 0x28c], dx
je 0x464ac2
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.0042cd50
test eax, eax
jne 0x462de7
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.0042d000
test eax, eax
je 0x464ac2
mov edi, dword [0x4d4b04]
mov dword [ebx], eax
mov esi, dword [ebx]
mov al, byte [esi + 0x17]
test al, al
jne 0x462dfe
mov edx, dword [esi + 0xc]
mov al, byte [edx + 0x17]
movzx ecx, al
mov eax, 1
sub ecx, eax
je 0x462e49
sub ecx, 3
jne 0x462e7f
mov ecx, dword [esi + 0x10]
cmp ecx, 0x4502b0
jne 0x462e2d
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 0x464565
cmp ecx, 0x450b60
jne 0x462e7f
mov ecx, dword [edi + 0x38]
mov dword [ebx], ecx
mov dword [ebx + 4], 0
mov dword [ebx + 8], eax
jmp 0x464565
cmp dword [0x4d880c], 0
jne 0x46424e
cmp byte [esi + 0x17], 0
jne 0x462e61
mov eax, dword [esi + 0xc]
jmp 0x462e63
mov eax, esi
test byte [eax + 0x15], 0xa
jne 0x46424e
xor edx, edx
cmp dword [eax + 0xc], edx
setne dl
mov eax, edx
test eax, eax
jne 0x46424e
movzx eax, byte [esi + 0x17]
cmp eax, 3
ja case.default.0x462e88
jmp dword [eax*4 + 0x464c84]
mov eax, esi
call fcn.00401160
cmp dword [0x4d880c], 0
jne 0x462ed3
cmp dword [esi + 0xc], 0
jne 0x462ed3
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 0x462ec9
mov dword [0x4dac38], 0
dec eax
jmp 0x462f0a
mov dword [0x4dac38], esi
xor eax, eax
jmp 0x462f0a
mov eax, dword [esi + 0xc]
shr eax, 1
jmp 0x462f0a
mov ecx, dword [esi + 0xc]
push 0
call fcn.00482870
jmp 0x462f0a
xor ecx, ecx
call fcn.00404d30
cmp eax, 0xffffffff
jne 0x462f0a
xor eax, eax
jmp 0x462f0a
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 0x462f36
mov eax, dword [ebx]
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x462f21
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x4636f6
mov dword [ebx + 8], 4
jmp 0x464565
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 0x462f55
lea ecx, [edi + esi*2]
mov dword [ebp - 0x64], ecx
jmp 0x462fa4
cmp esi, 0x1001
jae 0x462f75
cmp dword [ebp - 0x54], 0x9c40
jae 0x462f75
lea eax, [esi + esi]
call fcn.004a2390
add dword [ebp - 0x54], esi
mov edi, esp
jmp 0x462fa4
mov edi, dword [ebp - 0x30]
cmp edi, 0xc8
je 0x4647fd
lea edx, [esi + esi]
push edx
call fcn.004991fe
add esp, 4
mov dword [ebp + edi*4 - 0x5ac], eax
test eax, eax
je 0x4647fd
inc dword [ebp - 0x30]
mov edi, eax
mov ecx, dword [ebx]
push edi
call fcn.00482870
mov dword [ebx], edi
mov dword [ebx + 4], 0
mov dword [ebx + 8], 5
jmp 0x464565
cmp eax, 0x3e
jne 0x4633d3
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 0x462d52
sub eax, ecx
mov dword [ebp - 0x1c], eax
lea esi, [ebp + eax*4 - 0xdac]
test edx, edx
jne 0x463081
test eax, eax
je 0x462d52
dec eax
mov edi, dword [ebp + eax*4 - 0xdac]
mov dword [ebp - 0x1c], eax
lea eax, [ebp + eax*4 - 0xdac]
call fcn.0045a9e0
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x46306a
mov edi, dword [ebp - 0x48]
test edi, edi
je 0x46303d
lea eax, [edi*4]
push eax
lea ecx, [esi + 4]
push esi
push ecx
call fcn.0049a0d0
add esp, 0xc
inc dword [ebp - 0x68]
mov eax, 0x10
call fcn.004a7170
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 0x463081
mov edx, dword [ebx]
cmp byte [edx + 8], 2
jne 0x462d52
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.00464fd0
test al, al
je 0x464808
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.00462a30
mov dword [0x4d9d04], edi
mov eax, dword [ebx + 8]
cmp eax, 1
je 0x4633a5
cmp eax, 2
je 0x4633a5
cmp eax, 6
je 0x4633a5
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x463120
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x18], 0x41
jne 0x463120
cmp byte [edi], 3
mov dword [ebp - 0x48], 1
je 0x464838
mov esi, dword [ebp - 0x6c]
jmp 0x463159
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x18], 0x13
mov dword [ebp - 0x48], 0
jne 0x463157
test eax, eax
je 0x463157
lea eax, [ebp + eax*4 - 0xdac]
mov eax, dword [eax - 4]
cmp dword [eax + 8], 4
jne 0x463157
mov esi, dword [eax]
mov al, byte [esi + 0x17]
test al, al
jne 0x463153
mov edx, dword [esi + 0xc]
mov al, byte [edx + 0x17]
cmp al, 1
je 0x463159
xor esi, esi
mov eax, dword [ebx]
test esi, esi
je 0x463212
mov ecx, dword [0x4d4b04]
mov edx, dword [ebp - 0x18]
cmp dword [ecx + 0xb4], edx
jne 0x463183
mov cl, byte [esi + 0x16]
and cl, 0x22
cmp cl, 2
je 0x463212
mov ecx, dword [ebx + 0xc]
cmp ecx, eax
jne 0x463199
mov edx, dword [ebx + 4]
push edx
mov edi, ecx
mov eax, esi
call fcn.00482ba0
jmp 0x4631eb
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4631a0
mov ecx, dword [ebx]
sub eax, edx
sar eax, 1
cmp ecx, dword [0x4d95d0]
jne 0x4631d6
cmp eax, 0x40
jb 0x4631d6
push eax
mov edi, ecx
mov eax, esi
call fcn.00482ba0
xor eax, eax
mov dword [0x4d95d0], eax
mov dword [0x4d95d4], eax
jmp 0x4631eb
push 1
push 0
push 0xffffffffffffffff
push ecx
push esi
call fcn.004824a0
test eax, eax
je 0x4648c3
cmp dword [ebp - 0x48], 0
jne 0x464848
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 0x4633a8
mov ecx, dword [ebx + 0xc]
mov edx, 1
test ecx, ecx
je 0x46323e
mov esi, dword [ebp - 0x30]
cmp esi, 0xc8
je 0x464870
cmp ecx, eax
jne 0x463233
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 0x463285
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 0x464565
lea edx, [ebp - 0x3c]
push edx
lea ecx, [ebp - 0x40]
push ecx
push eax
call fcn.00482dc0
add esp, 0xc
jmp 0x464565
mov ecx, dword [ebp - 0x18]
cmp byte [ecx + 0x3d], 0
je 0x46329c
cmp edx, esi
je 0x4632d7
xor edx, edx
cmp dword [ebp - 0x48], esi
sete dl
jmp 0x4632d7
cmp eax, dword [0x4d95d0]
jne 0x4632d2
xor edx, edx
cmp dword [ebp - 0x48], esi
jne 0x4632d7
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x18]
add ecx, 0x18
cmp eax, 0x41
je 0x4632d7
lea esp, [esp]
cmp eax, 0x3e
je 0x4632d2
mov eax, dword [ecx + 0x10]
add ecx, 0x10
cmp eax, 0x41
jne 0x4632c0
jmp 0x4632d7
mov edx, 1
mov eax, dword [ebx]
mov dword [ebx + 4], esi
mov dword [ebx + 8], 5
cmp edx, esi
je 0x4633a1
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x4632f0
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 0x463331
mov eax, dword [ebx]
add esi, esi
push esi
push eax
push edi
call fcn.004a3100
add esp, 0xc
add edi, esi
mov dword [ebp - 0x64], edi
mov dword [ebx], eax
jmp 0x4633ab
cmp esi, 0x1001
jae 0x463363
cmp dword [ebp - 0x54], 0x9c40
jae 0x463363
lea eax, [esi + esi]
call fcn.004a2390
mov eax, dword [ebx]
mov ecx, esp
lea edx, [esi + esi]
push edx
push eax
push ecx
call fcn.004a3100
add esp, 0xc
add dword [ebp - 0x54], esi
mov dword [ebx], eax
jmp 0x4633ab
cmp dword [ebp - 0x30], 0xc8
je 0x4648ad
lea eax, [esi + esi]
push eax
call fcn.004991fe
mov ecx, dword [ebp - 0x30]
add esp, 4
mov dword [ebp + ecx*4 - 0x5ac], eax
test eax, eax
je 0x4648ad
mov ecx, dword [ebx]
lea edx, [esi + esi]
push edx
push ecx
push eax
call fcn.004a3100
add esp, 0xc
inc dword [ebp - 0x30]
mov dword [ebx], eax
jmp 0x4633ab
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0xc], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x464565
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x40]
push edx
push eax
call fcn.00482dc0
add esp, 0xc
jmp 0x464565
cmp eax, 0x1f
jne 0x463419
cmp dword [ebx + 0xc], 0
je 0x4647ef
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4647ef
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 0x46456f
cmp dword [ebp - 0x1c], 0
je 0x462d52
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 0x462d52
cmp eax, 0x20
jne 0x463476
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x462d52
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 0x464565
add eax, 0xffffffee
cmp eax, 0x27
ja case.0x463485.20
movzx eax, byte [eax + 0x464c9c]
jmp dword [eax*4 + 0x464c94]
mov ecx, edi
call fcn.0045a5a0
mov edx, dword [ebp - 0x1c]
mov esi, eax
mov dword [ebp - 0x84], esi
jmp 0x4634a6
mov esi, dword [ebp - 0x84]
mov eax, dword [ebx + 8]
lea ecx, [eax - 9]
mov dword [ebp - 0x58], 0
cmp ecx, 0x34
ja case.0x4634c3.11
movzx ecx, byte [ecx + 0x464ce0]
jmp dword [ecx*4 + 0x464cc4]
mov eax, esi
mov esi, edi
call fcn.0045a480
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], 1
jmp 0x464565
mov eax, esi
mov esi, edi
call fcn.0045a480
test eax, eax
jne 0x463e9d
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
jmp 0x464565
cmp esi, 1
jne 0x46352e
push esi
mov ecx, edi
call fcn.0045a6e0
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 0x464565
cmp esi, 2
jne 0x4636f6
push 1
push 0
mov eax, edi
call fcn.0045a770
fchs
fstp qword [ebx]
add esp, 8
mov dword [ebx + 8], esi
jmp 0x464565
mov ecx, dword [edi + 8]
xor edx, edx
cmp eax, 0x3c
setge dl
mov dword [ebp - 0x28], edx
cmp ecx, 4
jne 0x4636f6
test esi, esi
je 0x46361c
cmp eax, 9
je 0x463581
mov dword [ebp - 0x34], 0xffffffff
cmp eax, 0x3c
jne 0x463588
mov dword [ebp - 0x34], 1
push 1
cmp esi, 1
jne 0x4635b3
mov ecx, edi
call fcn.0045a6e0
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.0041a140
jmp 0x4635cc
push 0
mov eax, edi
call fcn.0045a770
fst qword [ebx]
fiadd dword [ebp - 0x34]
mov ecx, dword [edi]
fstp qword [esp]
push ecx
call fcn.0041a170
cmp dword [ebp - 0x28], 0
je 0x463549
mov edi, dword [edi]
mov al, byte [edi + 0x17]
test al, al
jne 0x4635e5
mov edx, dword [edi + 0xc]
mov al, byte [edx + 0x17]
cmp al, 1
jne 0x4635f7
mov dword [ebx], edi
mov dword [ebx + 8], 4
jmp 0x464565
cmp esi, 1
jne 0x46360d
mov eax, dword [ebp - 0x34]
cdq
add dword [ebx], eax
mov dword [ebx + 8], esi
adc dword [ebx + 4], edx
jmp 0x464565
fild dword [ebp - 0x34]
mov dword [ebx + 8], esi
fadd qword [ebx]
fstp qword [ebx]
jmp 0x464565
cmp ecx, 4
jne 0x4636f6
mov eax, dword [edi]
cmp byte [eax + 0x17], 0
jne 0x463632
mov ecx, dword [eax + 0xc]
jmp 0x463634
mov ecx, eax
test byte [ecx + 0x15], 4
je 0x463645
push eax
mov ecx, 0x4d96d0
call fcn.0043a760
mov ecx, dword [edi]
call fcn.0041a0e0
cmp dword [ebp - 0x28], 0
je 0x4636f6
mov edi, dword [edi]
mov al, byte [edi + 0x17]
test al, al
jne 0x463665
mov eax, dword [edi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x4636f6
mov dword [ebx], edi
mov dword [ebx + 8], 4
jmp 0x464565
mov eax, dword [edi + 8]
cmp eax, 4
jne 0x4636d9
mov eax, dword [edi]
cmp byte [eax + 0x17], 0
jne 0x463690
mov ecx, dword [eax + 0xc]
jmp 0x463692
mov ecx, eax
test byte [ecx + 0x15], 2
je 0x4636b7
mov dword [ebx + 8], 1
mov edi, dword [edi]
cmp byte [edi + 0x17], 0
jne 0x4636aa
mov edi, dword [edi + 0xc]
mov eax, dword [edi]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x464565
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 0x464565
cmp eax, 6
jne 0x4636f6
mov dword [ebx + 8], 1
mov eax, dword [edi]
cdq
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x464565
test esi, esi
jne 0x463708
mov dword [ebx], 0x4af9bc
mov dword [ebx + 8], 0
jmp 0x464565
xor ecx, ecx
cmp esi, 1
sete cl
push ecx
mov ecx, edi
call fcn.0045a6e0
add esp, 4
cmp dword [ebx + 8], 0x38
jne 0x463758
test edx, edx
ja 0x463743
jb 0x46372c
cmp eax, 0xffffffff
ja 0x463743
not eax
mov dword [ebx + 4], 0
mov dword [ebx], eax
mov dword [ebx + 8], 1
jmp 0x464565
not eax
not edx
mov dword [ebx + 4], edx
mov dword [ebx], eax
mov dword [ebx + 8], 1
jmp 0x464565
cmp eax, 0x1000
jae 0x463773
xor eax, eax
cdq
mov dword [ebx + 4], edx
mov dword [ebx], eax
mov dword [ebx + 8], 1
jmp 0x464565
movzx eax, byte [eax]
cdq
mov dword [ebx + 4], edx
mov dword [ebx], eax
mov dword [ebx + 8], 1
jmp 0x464565
test edx, edx
je 0x462d52
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 0x462d52
cmp eax, 0x12
jne 0x4637e7
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 0x464565
mov eax, dword [ebx]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
jmp 0x464565
cmp eax, 0x1e
jg 0x4638e7
cmp eax, 0x13
jl 0x4638e7
cmp ecx, 4
je 0x463810
mov dword [ebx], 0x4af9bc
mov dword [ebx + 8], 0
jmp 0x464565
add eax, 0xffffffed
cmp eax, 0xb
ja case.default.0x46381c
jmp dword [eax*4 + 0x464d18]
mov esi, dword [ebp - 0x50]
mov ebx, dword [esi]
mov eax, edi
call fcn.00481dc0
test eax, eax
je 0x464ac2
mov ecx, dword [esi]
mov al, byte [ecx + 0x17]
test al, al
jne 0x463846
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
mov ebx, dword [ebp - 0x60]
cmp al, 2
mov eax, ebx
jne 0x463873
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 0x464565
mov dword [eax], ecx
mov dword [eax + 8], 4
jmp 0x464565
mov dword [ebx + 8], 0x31
jmp case.default.0x46381c
mov dword [ebx + 8], 0x32
jmp case.default.0x46381c
mov dword [ebx + 8], 0x33
jmp case.default.0x46381c
mov dword [ebx + 8], 0x34
jmp case.default.0x46381c
mov dword [ebx + 8], 0x35
jmp case.default.0x46381c
mov dword [ebx + 8], 0x2c
jmp case.default.0x46381c
mov dword [ebx + 8], 0x2d
jmp case.default.0x46381c
mov dword [ebx + 8], 0x2e
jmp case.default.0x46381c
mov dword [ebx + 8], 0x2f
jmp case.default.0x46381c
mov dword [ebx + 8], 0x30
jmp case.default.0x46381c
mov dword [ebx + 8], 0x2b
mov eax, dword [edx]
mov dword [ebp - 0x58], eax
cmp dword [ebx + 8], 0x2b
je 0x463e51
test esi, esi
je 0x463e51
mov ecx, dword [ebp - 0x50]
call fcn.0045a5a0
mov dword [ebp - 0x48], eax
test eax, eax
je 0x463e51
cmp esi, 1
jne 0x46391b
cmp eax, esi
jne 0x46391b
cmp dword [ebx + 8], 0x34
jne 0x463930
mov eax, dword [ebx + 8]
cmp eax, 0x30
jg 0x463bfa
cmp eax, 0x2c
jl 0x463bfa
xor ecx, ecx
cmp esi, 1
sete cl
push ecx
mov ecx, edi
call fcn.0045a6e0
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.0045a6e0
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.0x46397e.43
jmp dword [ecx*4 + 0x464d48]
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 0x46452d
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 0x46452d
push esi
push edi
push edx
push eax
call fcn.0049daa0
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46452d
cmp eax, edi
jne 0x4639e5
cmp edx, esi
jne 0x4639e5
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 0x46452d
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 0x46452d
cmp eax, edi
jne 0x463a01
cmp edx, esi
je 0x4639e5
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 0x46452d
cmp edx, esi
jl 0x4639e5
jg 0x463a22
cmp eax, edi
jbe 0x4639e5
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 0x46452d
cmp edx, esi
jg 0x4639e5
jl 0x463a43
cmp eax, edi
jae 0x4639e5
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 0x46452d
cmp edx, esi
jl 0x4639e5
jg 0x463a64
cmp eax, edi
jb 0x4639e5
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 0x46452d
cmp edx, esi
jg 0x4639e5
jl 0x463a8d
cmp eax, edi
ja 0x4639e5
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 0x46452d
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 0x46452d
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 0x46452d
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 0x46452d
mov ecx, edi
call fcn.004aa770
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46452d
mov ecx, edi
call fcn.004aa740
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46452d
mov ecx, edi
or ecx, dword [ebp - 0x70]
jne 0x463b28
mov edx, ecx
mov dword [ebx], 0x4af9bc
mov dword [ebp - 0x24], ecx
mov dword [ebx + 8], edx
jmp 0x46452d
mov ecx, dword [ebp - 0x70]
push ecx
push edi
push edx
push eax
call fcn.004a9d80
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx], eax
mov dword [ebx + 8], edx
jmp 0x46452d
mov ecx, eax
or ecx, edx
jne 0x463b6c
test esi, esi
jg 0x463bbc
jl 0x463b54
test edi, edi
jae 0x463bbc
mov dword [ebp - 0x24], 0
mov edx, dword [ebp - 0x24]
mov dword [ebx], 0x4af9bc
mov dword [ebx + 8], edx
jmp 0x46452d
test edx, edx
jg 0x463bbc
jl 0x463b76
test eax, eax
jae 0x463bbc
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.0043b770
cmp dword [ebp - 0x28], 0
fst qword [ebx]
je 0x463bc5
push 0
push 2
push esi
push edi
call fcn.004aa680
or eax, edx
je 0x463bc5
fchs
fstp qword [ebx]
jmp 0x463bc7
mov dword [ebp - 0x28], 0
jmp 0x463b8a
fstp st(0)
test esi, esi
jg 0x463be3
jl 0x463bd1
test edi, edi
jae 0x463be3
mov dword [ebp - 0x24], 2
mov edx, dword [ebp - 0x24]
mov dword [ebx + 8], edx
jmp 0x46452d
fld qword [ebx]
call fcn.004a9d06
mov dword [ebx + 4], edx
mov dword [ebx], eax
mov edx, dword [ebp - 0x24]
mov dword [ebx + 8], edx
jmp 0x46452d
xor eax, eax
cmp esi, 2
sete al
push eax
push 1
mov eax, edi
call fcn.0045a770
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.0045a770
fst qword [ebp - 0x4c]
mov ecx, dword [ebx + 8]
add esp, 0x10
cmp ecx, 0x24
jl 0x463c3b
mov edi, 1
cmp ecx, 0x2a
jle 0x463c40
mov edi, 2
lea eax, [ecx - 0x24]
cmp eax, 0x17
ja case.0x463c4f.43
movzx edx, byte [eax + 0x464dd8]
jmp dword [edx*4 + 0x464da8]
fadd qword [ebp - 0x2c]
mov dword [ebx + 8], edi
fstp qword [ebx]
jmp 0x46452d
fsub qword [ebp - 0x2c]
mov dword [ebx + 8], edi
fstp qword [ebx]
jmp 0x46452d
fmul qword [ebp - 0x2c]
mov dword [ebx + 8], edi
fstp qword [ebx]
jmp 0x46452d
fld qword [ebp - 0x2c]
fld st(0)
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x463ca1
fstp st(1)
mov dword [ebx], 0x4af9bc
xor edi, edi
fstp st(0)
mov dword [ebx + 8], edi
jmp 0x46452d
fdivp st(1)
fst qword [ebx]
cmp ecx, 0x35
jne case.0x463c4f.43
sub esp, 8
fstp qword [esp]
call fcn.0043b7d0
fstp qword [ebx]
mov dword [ebx + 8], edi
jmp 0x46452d
fld qword [ebp - 0x2c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x463cdf
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x46452d
xor eax, eax
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x46452d
fld qword [ebp - 0x2c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x463cdf
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x46452d
fcomp qword [ebp - 0x2c]
fnstsw ax
test ah, 0x41
jne 0x463cdf
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x46452d
fcomp qword [ebp - 0x2c]
fnstsw ax
test ah, 5
jp 0x463cdf
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x46452d
fcomp qword [ebp - 0x2c]
fnstsw ax
test ah, 1
jne 0x463cdf
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x46452d
fcomp qword [ebp - 0x2c]
fnstsw ax
test ah, 0x41
jp 0x463cdf
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
jmp 0x46452d
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x463d9e
mov esi, 1
jmp 0x463da0
xor esi, esi
fld st(1)
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x463dc9
fcomp qword [ebp - 0x2c]
fnstsw ax
test ah, 0x41
jne 0x463dcb
fstp st(0)
xor edi, edi
mov dword [ebx], 0x4af9bc
mov dword [ebx + 8], edi
jmp 0x46452d
fstp st(0)
test esi, esi
je 0x463df5
fstp st(0)
sub esp, 0x10
fld1
fstp qword [esp + 8]
fld qword [ebp - 0x2c]
fstp qword [esp]
call fcn.0043b800
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x463db9
fld qword [ebp - 0x4c]
fchs
fld qword [ebp - 0x2c]
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
call fcn.0043b770
fstp qword [ebx]
test esi, esi
je 0x463c99
fld qword [0x4cece0]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ebp - 0x2c]
fstp qword [esp]
call fcn.0043b800
sub esp, 8
fstp qword [esp]
call fcn.0043b760
fld1
fucompp
fnstsw ax
test ah, 0x44
jp 0x463c99
fld qword [ebx]
mov dword [ebx + 8], edi
fchs
fstp qword [ebx]
jmp 0x46452d
mov eax, dword [ebx + 8]
add eax, 0xffffffdc
cmp eax, 2
ja 0x463eb2
mov ecx, edi
call fcn.0045a980
mov ecx, dword [ebp - 0x50]
mov esi, eax
call fcn.0045a980
test esi, esi
jne 0x463e75
test eax, eax
je 0x463eb2
xor ecx, ecx
cmp esi, eax
sete cl
xor edx, edx
cmp dword [ebx + 8], 0x26
setne dl
cmp edx, ecx
jne 0x463e9d
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
jmp 0x464565
xor eax, eax
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], 1
jmp 0x464565
lea ecx, [ebp - 0xfac]
mov eax, edi
call fcn.0045a820
mov esi, eax
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x28c]
call fcn.0045a820
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 8]
add eax, 0xffffffdc
mov dword [ebp - 0x24], 1
cmp eax, 7
ja case.default.0x463ee8
jmp dword [eax*4 + 0x464df0]
mov eax, dword [0x4d4b04]
cmp byte [eax + 0xf2], 0
push esi
jne 0x463f0c
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00498d39
add esp, 8
jmp 0x463f16
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x463f2b
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x464527
xor eax, eax
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x464527
mov eax, dword [ebp - 0x14]
lea esp, [esp]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x463f66
test cx, cx
je 0x463f62
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x463f66
add eax, 4
add esi, 4
test cx, cx
jne 0x463f40
xor eax, eax
jmp 0x463f6b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x463f2b
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x464527
mov eax, dword [0x4d4b04]
mov al, byte [eax + 0xf2]
test al, al
jne 0x463fb0
mov ecx, dword [ebp - 0x14]
push esi
push ecx
call fcn.00498d39
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 0x464527
cmp al, 2
jne 0x463fd3
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 0x464527
mov eax, dword [ebp - 0x14]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x46400e
test cx, cx
je 0x463ff8
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x46400e
add eax, 4
add esi, 4
test cx, cx
jne 0x463fd6
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 0x464527
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 0x464527
mov edx, dword [0x4d4b04]
mov al, byte [edx + 0xf2]
test al, al
jne 0x464046
mov eax, dword [ebp - 0x14]
push esi
push eax
call fcn.00498d39
add esp, 8
jmp 0x46408b
cmp al, 2
jne 0x464057
mov ecx, dword [ebp - 0x14]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x46408b
mov eax, dword [ebp - 0x14]
lea ebx, [ebx]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x464086
test cx, cx
je 0x464082
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x464086
add eax, 4
add esi, 4
test cx, cx
jne 0x464060
xor eax, eax
jmp 0x46408b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jle 0x463f2b
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x464527
mov edx, dword [0x4d4b04]
mov al, byte [edx + 0xf2]
test al, al
jne 0x4640c3
mov eax, dword [ebp - 0x14]
push esi
push eax
call fcn.00498d39
add esp, 8
jmp 0x464102
cmp al, 2
jne 0x4640d4
mov ecx, dword [ebp - 0x14]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x464102
mov eax, dword [ebp - 0x14]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4640fd
test cx, cx
je 0x4640f9
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4640fd
add eax, 4
add esi, 4
test cx, cx
jne 0x4640d7
xor eax, eax
jmp 0x464102
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jns 0x463f2b
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x464527
mov edx, dword [0x4d4b04]
mov al, byte [edx + 0xf2]
test al, al
jne 0x46413a
mov eax, dword [ebp - 0x14]
push esi
push eax
call fcn.00498d39
add esp, 8
jmp 0x46417b
cmp al, 2
jne 0x46414b
mov ecx, dword [ebp - 0x14]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x46417b
mov eax, dword [ebp - 0x14]
mov edi, edi
mov cx, word [eax]
cmp cx, word [esi]
jne 0x464176
test cx, cx
je 0x464172
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x464176
add eax, 4
add esi, 4
test cx, cx
jne 0x464150
xor eax, eax
jmp 0x46417b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, 0xffffffff
jle 0x463f2b
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x464527
mov edx, dword [0x4d4b04]
mov al, byte [edx + 0xf2]
test al, al
jne 0x4641b4
mov eax, dword [ebp - 0x14]
push esi
push eax
call fcn.00498d39
add esp, 8
jmp 0x4641f3
cmp al, 2
jne 0x4641c5
mov ecx, dword [ebp - 0x14]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x4641f3
mov eax, dword [ebp - 0x14]
mov cx, word [eax]
cmp cx, word [esi]
jne 0x4641ee
test cx, cx
je 0x4641ea
mov cx, word [eax + 2]
cmp cx, word [esi + 2]
jne 0x4641ee
add eax, 4
add esi, 4
test cx, cx
jne 0x4641c8
xor eax, eax
jmp 0x4641f3
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, 1
jge 0x463f2b
mov eax, 1
xor ecx, ecx
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x464527
cmp dword [edi + 8], 4
jne 0x46421c
mov eax, dword [edi]
call fcn.0041a530
jmp 0x464230
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x464221
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x58], 0
mov dword [ebp - 0x34], eax
je 0x46425a
mov edx, eax
mov eax, dword [ebp - 0x58]
push edx
push esi
call fcn.00482b10
test eax, eax
je 0x46425a
mov eax, dword [ebp - 0x58]
mov dword [ebx], eax
mov dword [ebx + 8], 4
jmp 0x464565
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 8], 4
jne 0x46426e
mov edx, ecx
mov eax, dword [edx]
call fcn.0041a530
jmp 0x464283
mov eax, dword [ebp - 0x14]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x464274
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 0x464443
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x4642bc
cmp dword [ebp - 0x1c], 0
jne 0x4642bc
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x18], 0x41
jne 0x4642bc
mov dword [ebp - 0x28], 1
jmp 0x464306
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x18], 0x13
jne 0x464443
cmp dword [ebp - 0x1c], 0
je 0x464443
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xdb0]
cmp dword [eax + 8], 4
jne 0x464443
mov eax, dword [eax]
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x4642f6
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x464443
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], eax
test eax, eax
je 0x464443
push 0
push 0
mov ecx, eax
call fcn.00401220
cmp eax, 0x4d9624
jne 0x464325
xor eax, eax
cmp eax, dword [ebp - 0x14]
jne 0x464376
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
push edx
push esi
call fcn.00482b10
test eax, eax
je 0x464443
cmp dword [ebp - 0x28], 0
jne case.0x4649c0.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 0x464565
cmp eax, esi
je 0x464443
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x24]
push 1
push 0
dec eax
push eax
push 0
push ecx
call fcn.004824a0
test eax, eax
je 0x464ac2
mov ecx, dword [ebp - 0x24]
push 0
push 1
call fcn.00401220
cmp dword [ebp - 0x18], 0
mov edi, eax
je 0x4643c2
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
lea eax, [edx + edx]
push eax
push ecx
push edi
call fcn.004a3100
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.004a3100
mov eax, dword [ebp - 0x24]
add esp, 0xc
cmp byte [eax + 0x17], 0
jne 0x4643ea
mov ecx, eax
mov eax, dword [ecx + 0xc]
jmp 0x4643ed
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x17], 2
jne 0x464408
cmp dword [0x4d96c0], 0
je 0x464408
mov ecx, 0x4d96b4
call fcn.00405010
jmp 0x46440c
and byte [eax + 0x15], 0x86
cmp dword [ebp - 0x28], 0
jne case.0x4649c0.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 0x464565
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 0x46446b
mov dword [ebx], eax
lea eax, [eax + ecx*2]
mov dword [ebp - 0x64], eax
jmp 0x4644c5
cmp ecx, 0x1001
jae 0x464492
cmp dword [ebp - 0x54], 0x9c40
jae 0x464492
mov eax, dword [ebp - 0x48]
add eax, eax
call fcn.004a2390
mov ecx, dword [ebp - 0x48]
add dword [ebp - 0x54], ecx
mov eax, esp
mov dword [ebx], eax
jmp 0x4644c5
cmp dword [ebp - 0x30], 0xc8
je 0x464aae
mov edx, dword [ebp - 0x48]
lea eax, [edx + edx]
push eax
call fcn.004991fe
mov ecx, dword [ebp - 0x30]
add esp, 4
mov dword [ebp + ecx*4 - 0x5ac], eax
mov dword [ebx], eax
test eax, eax
je 0x464aae
inc dword [ebp - 0x30]
cmp dword [ebp - 0x18], 0
je 0x4644e1
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.004a3100
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.004a3100
mov edx, dword [ebp - 0x50]
add esp, 0xc
cmp dword [edx + 8], 0
je 0x464520
cmp dword [edi + 8], 0
je 0x464520
mov dword [ebp - 0x24], 5
mov dword [ebx + 4], 0
jmp 0x464527
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 0x464565
mov eax, ebx
mov ebx, dword [ebp - 0x58]
call fcn.00481dc0
test eax, eax
je 0x464ac2
mov al, byte [ebx + 0x17]
test al, al
jne 0x464552
mov ecx, dword [ebx + 0xc]
mov al, byte [ecx + 0x17]
cmp al, 2
je 0x464562
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 0x46479c
mov eax, dword [ebx + 8]
lea ecx, [eax - 1]
cmp ecx, 4
ja case.0x46457e.3
jmp dword [ecx*4 + 0x464e10]
mov esi, dword [ebx]
cmp byte [esi + 0x17], 0
jne 0x464590
mov esi, dword [esi + 0xc]
movzx eax, byte [esi + 0x15]
and eax, 0x70
cmp eax, 0x10
je 0x4645e1
cmp eax, 0x20
je 0x4645d4
cmp eax, 0x40
je case.0x46457e.3
push 0
push 1
push 0
push 1
push 0
push 0
mov ecx, esi
call fcn.00401220
call fcn.0047f050
add esp, 0x10
test eax, eax
jne case.0x46457e.1
mov cl, byte [esi + 0x15]
test cl, cl
js case.0x46457e.1
or cl, 0x40
mov byte [esi + 0x15], cl
jmp case.0x46457e.1
mov eax, 2
jmp case.0x46457e.1
cmp dword [ebx + 4], 0
je 0x4645e8
mov eax, 1
jmp case.0x46457e.1
mov eax, dword [ebx]
push 0
push 1
push 0
push 1
call fcn.0047f050
add esp, 0x10
jmp case.0x46457e.1
xor eax, eax
dec eax
je 0x4646e3
dec eax
mov eax, dword [ebx + 8]
je 0x464643
cmp eax, 6
je 0x464792
cmp eax, 4
jne 0x46462e
mov eax, dword [ebx]
cmp byte [eax + 0x17], 0
jne 0x464624
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 2
jne 0x464792
xor ecx, ecx
mov eax, ebx
call fcn.0045a820
xor edx, edx
cmp word [eax], dx
setne dl
mov esi, edx
jmp 0x46468a
dec eax
cmp eax, 5
ja case.0x464649.3
jmp dword [eax*4 + 0x464e24]
fild qword [ebx]
jmp 0x464679
fld qword [ebx]
jmp 0x464679
mov eax, dword [ebx]
push 1
call fcn.0041a290
jmp 0x464679
mov eax, dword [ebx + 4]
test eax, eax
je case.0x464649.3
fild qword [eax]
jmp 0x464679
mov eax, dword [ebx]
push eax
call fcn.0049b6b2
add esp, 4
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x464792
xor esi, esi
cmp dword [ebx + 8], 6
jne 0x46469a
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 0x4647e8
mov edi, 0x20
xor edx, edx
cmp dword [ecx + 8], 0x21
sete dl
cmp esi, edx
jne 0x4647ef
mov dword [ebp - 0x20], ecx
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x4646cc
cmp dword [ecx + 8], edi
jne 0x4646ac
mov eax, esi
cdq
mov dword [ebx + 8], 1
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 0xc], ecx
jmp 0x464565
mov eax, dword [ebx + 8]
dec eax
cmp eax, 5
ja case.0x4646ec.3
jmp dword [eax*4 + 0x464e3c]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
jmp 0x46478a
mov ecx, dword [ebx + 4]
test ecx, ecx
je case.0x4646ec.3
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
jmp 0x46478a
fld qword [ebx]
call fcn.004a9d06
jmp 0x46478a
mov eax, dword [ebx]
push 1
call fcn.0041a210
jmp 0x46478a
mov esi, dword [ebx]
mov eax, esi
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x464733
cmp ecx, 9
jne 0x464738
add eax, 2
jmp 0x464726
movzx ecx, word [eax]
test cx, cx
je 0x464781
cmp ecx, 0x2d
je 0x46474a
cmp ecx, 0x2b
jne 0x46474d
add eax, 2
cmp word [eax], 0x30
jne 0x464781
movzx ecx, word [eax + 2]
cmp ecx, 0x78
je 0x464761
cmp ecx, 0x58
jne 0x464781
movzx ecx, word [eax + 4]
push ecx
call fcn.00498e99
add esp, 4
test eax, eax
je 0x464781
push 0x10
push 0
push esi
call fcn.00499170
add esp, 0xc
jmp 0x46478a
push esi
call fcn.004991e8
add esp, 4
or eax, edx
je case.0x4646ec.6
mov esi, 1
jmp 0x46468a
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x1c]
cmp esi, edi
jle 0x4647cc
jmp 0x4647b0
mov eax, dword [ebp + esi*4 - 0xdb0]
dec esi
cmp dword [eax + 8], 6
jne 0x4647c8
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp esi, edi
jg 0x4647b0
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 0x462ae3
test esi, esi
jne 0x4647ef
mov dword [ebp - 0x20], ecx
mov esi, dword [ebp - 0x20]
mov ebx, dword [ebp + 0x18]
add esi, 0x10
jmp 0x462ae3
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x18]
push edx
jmp 0x464ab3
cmp dword [esi], 1
je 0x464810
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x44]
cmp eax, edi
je case.0x4649c0.3
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x40]
push edx
push eax
call fcn.00482dc0
add esp, 0xc
jmp case.0x4649c0.3
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x464848
push ebx
call fcn.0049929d
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x44]
test eax, eax
je case.0x4649c0.3
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x40]
push edx
push eax
call fcn.00482dc0
add esp, 0xc
jmp case.0x4649c0.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.00439e00
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x464ac2
lea edx, [ebp - 0x3c]
push edx
lea ecx, [ebp - 0x40]
push ecx
push eax
call fcn.00482dc0
add esp, 0xc
jmp 0x464ac2
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.00439e00
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x464ac2
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x40]
push edx
push eax
call fcn.00482dc0
add esp, 0xc
jmp 0x464ac2
mov eax, dword [ebp + 8]
mov cl, byte [eax]
cmp cl, 3
je case.0x4649c0.3
cmp dword [ebp - 0x1c], 1
jne 0x462d52
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0xdac]
mov esi, eax
test edx, edx
je 0x464926
mov ebx, edx
call fcn.00481dc0
test eax, eax
je 0x464ac2
jmp case.0x4649c0.3
cmp cl, 0x11
je 0x464ba8
cmp cl, 0x6b
je 0x464ba8
cmp cl, 0x6c
je 0x464ba8
mov edx, dword [ebp + 0x14]
test edx, edx
je 0x4649af
mov ecx, dword [eax + 8]
cmp ecx, 1
je 0x464998
cmp ecx, 2
je 0x464998
cmp ecx, 6
je 0x464998
cmp ecx, 4
jne 0x4649af
mov ecx, dword [eax]
cmp byte [ecx + 0x17], 0
jne 0x46496a
mov ecx, dword [ecx + 0xc]
test byte [ecx + 0x15], 2
je 0x4649af
mov dword [edx + 8], 6
mov eax, dword [eax]
cmp byte [eax + 0x17], 0
jne 0x464982
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 0x464c0f
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 0x464c0f
mov ecx, dword [ebx]
mov dword [ebp - 0x38], ecx
mov ecx, dword [eax + 8]
cmp ecx, 6
ja case.0x4649c0.3
jmp dword [ecx*4 + 0x464e54]
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 0x4649e0
sub eax, edx
sar eax, 1
lea ecx, [eax + eax + 2]
add dword [ebx], ecx
jmp case.0x4649c0.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.0047f1f0
lea ecx, [eax + eax + 2]
mov eax, dword [ebp + 0x18]
add esp, 0xc
add dword [eax], ecx
jmp case.0x4649c0.3
cmp ecx, 4
jne 0x464a48
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.0041a530
jmp 0x464a62
mov eax, dword [eax]
mov dword [ebp + 0x14], eax
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x464a50
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 0x464a81
mov eax, edx
mov ecx, dword [ebp + 0x28]
lea eax, [eax + ecx + 1]
cmp ebx, eax
jbe 0x464b8a
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.004991fe
mov edi, eax
add esp, 4
test edi, edi
jne 0x464ad7
push 0x4af9bc
mov ecx, dword [ebp + 8]
push 0
push str.Out_of_memory.
call fcn.00439e00
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x38], 0
mov dword [ecx], 0
jmp case.0x4649c0.3
cmp esi, 0x400000
jbe 0x464ae5
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 0x464b03
lea edx, [esi + esi]
push edx
push eax
push edi
call fcn.004a3100
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.004a3100
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
add esp, 0xc
push eax
call fcn.0049929d
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx]
add esp, 4
cmp eax, 0x400000
jbe 0x464b3f
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 0x464b73
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + ecx*4]
cmp eax, edx
jb 0x464b6d
cmp eax, dword [ebp + 8]
jae 0x464b6d
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 0x464b51
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.0x4649c0.3
mov esi, dword [ebp + 0x18]
mov eax, dword [esi]
cmp eax, edi
je 0x464ba1
lea ecx, [ebx + ebx]
push ecx
push edi
push eax
call fcn.0049a0d0
add esp, 0xc
lea edx, [ebx + ebx]
add dword [esi], edx
jmp case.0x4649c0.3
mov ecx, dword [eax + 8]
cmp ecx, 6
ja case.0x464bb4.3
jmp dword [ecx*4 + 0x464e70]
mov ecx, dword [eax]
or ecx, dword [eax + 4]
jne case.0x464bb4.6
mov dword [ebp - 0x38], 0x4af9bc
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x464be9
mov eax, dword [ebp + esi*4 - 0x5b0]
dec esi
push eax
call fcn.0049929d
add esp, 4
test esi, esi
jne 0x464bd4
mov esi, dword [ebp - 0x68]
test esi, esi
je 0x464c0c
mov eax, dword [ebp + esi*4 - 0xdb0]
dec esi
cmp dword [eax + 8], 6
jne 0x464c08
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
test esi, esi
jne 0x464bf0
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.0x464bb4.6
jmp case.0x4649c0.6
mov ecx, dword [eax + 4]
test ecx, ecx
je case.0x464bb4.0
mov edx, dword [ecx]
or edx, dword [ecx + 4]
jmp 0x464bc0
mov eax, dword [eax]
call fcn.0045a3a0
jmp 0x464c5d
mov esi, dword [eax]
call fcn.0045a400
jmp 0x464c5d
mov eax, dword [ebp + 8]
test eax, eax
je case.0x4649c0.6
mov dword [ebp - 0x38], 0x4b356c
jmp case.0x4649c0.3