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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d5882
mov eax, dword fs:[0]
push eax
sub esp, 0x2d4
push ebx
push esi
push edi
mov eax, dword [0x508164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x1c], eax
cmp dword [ebx + 0x7c], eax
lea esi, [ebx + 0x84]
mov dword [ebp - 0x18], eax
cmove esi, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x7c], esi
mov byte [ebp - 4], 1
mov dl, byte [ebx + 0x73]
test dl, dl
je 0x460a10
mov byte [ebp - 0x21], 1
cmp byte [ebx + 0x72], al
jne 0x460a14
mov byte [ebp - 0x21], 0
mov cl, byte [ebx + 0x75]
test cl, cl
je 0x460a25
cmp byte [ebx + 0x74], 0
mov byte [ebp - 0x22], 1
jne 0x460a29
mov byte [ebp - 0x22], 0
mov al, byte [ebx + 0x77]
test al, al
je 0x460a3e
cmp byte [ebx + 0x76], 0
jne 0x460a3e
mov byte [ebp - 0x23], 0
test al, al
jne 0x460a42
mov byte [ebp - 0x23], 1
test esi, esi
je 0x460a76
cmp dword [esi + 0x5c], 0
je 0x460a76
test dl, dl
jne 0x460a58
cmp dword [esi + 0x68], 0
setne byte [ebp - 0x21]
test cl, cl
jne 0x460a67
cmp dword [esi + 0x80], 0
setne byte [ebp - 0x22]
test al, al
jne 0x460a76
cmp dword [esi + 0x98], 0
setne byte [ebp - 0x23]
push 8
mov dword [ebp - 0x288], 0
call fcn.0048d929
mov edi, eax
mov dword [ebp - 0x284], 0
xor eax, eax
mov dword [ebp - 0x288], edi
add esp, 4
mov dword [ebp - 0x280], 3
mov word [edi], ax
mov byte [ebp - 4], 2
xor esi, esi
mov dword [ebp - 0x28], esi
cmp esi, dword [ebp + 0x10]
jae 0x4618d9
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jne 0x460b1a
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
je 0x460af6
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x460af2
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x460ad4
push dword [ebp - 0x1c]
call fcn.0048d8c3
add esp, 4
mov eax, 0x80004005
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ecx]
lea edx, [ebp - 0x78]
push edx
lea edx, [ebp - 0x178]
push edx
lea edx, [ebp - 0x17c]
push edx
push esi
push ecx
call dword [eax + 0x14]
mov ebx, eax
test ebx, ebx
je 0x460b93
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
je 0x460b72
nop dword [eax]
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x460b6e
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x460b50
push dword [ebp - 0x1c]
call fcn.0048d8c3
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 8
mov dword [ebp - 0x44], 0
call fcn.0048d929
mov ebx, eax
mov dword [ebp - 0x40], 0
xor eax, eax
mov dword [ebp - 0x44], ebx
add esp, 4
mov dword [ebp - 0x3c], 3
mov dword [ebp - 0x31], eax
mov word [ebx], ax
mov byte [ebp - 0x2d], al
mov byte [ebp - 4], 3
xorps xmm0, xmm0
cmp dword [ebp - 0x178], eax
push 8
setne byte [ebp - 0x33]
mov dword [ebp - 0x68], esi
cmp dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x78]
setne byte [ebp - 0x34]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x32], 0
movlpd qword [ebp - 0x4c], xmm0
mov dword [ebp - 0x8c], 0
call fcn.0048d929
mov esi, eax
mov dword [ebp - 0x88], 0
xor eax, eax
mov dword [ebp - 0x8c], esi
add esp, 4
mov dword [ebp - 0x84], 3
mov word [esi], ax
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x20]
cmp edx, 0xffffffff
je 0x460cfa
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x460dab
cmp edx, dword [eax + 0x5c]
jae 0x460dab
mov eax, dword [eax + 0x58]
lea ecx, [edx + edx*2]
lea eax, [eax + ecx*8]
mov cl, byte [ebp - 0x33]
mov dword [ebp - 0x70], eax
test cl, cl
jne 0x460c83
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x8c]
push eax
push edx
add ecx, 0x84
call fcn.0045d360
mov esi, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x20]
mov cl, byte [ebp - 0x33]
mov eax, dword [ebp - 0x70]
mov al, byte [eax + 0x11]
mov byte [ebp - 0x31], al
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x7c]
cmp edx, dword [eax + 0xc8]
jae 0x460cb5
mov eax, dword [eax + 0xc4]
mov byte [ebp - 0x32], 1
cmp byte [edx + eax], 0
jne 0x460cb9
mov byte [ebp - 0x32], 0
test cl, cl
jne 0x460d04
mov ebx, dword [ebp - 0x7c]
lea eax, [ebp - 0x64]
push eax
push edx
lea ecx, [ebx + 0x64]
call fcn.00455620
mov byte [ebp - 0x2f], al
lea ecx, [ebx + 0x7c]
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x6c]
call fcn.00455620
mov byte [ebp - 0x2e], al
lea ecx, [ebx + 0x94]
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0x6c]
call fcn.00455620
mov ebx, dword [ebp - 0x44]
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x33], 0
je 0x46161c
xor eax, eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x124]
push edx
push 9
mov byte [ebp - 4], 5
push dword [ebp - 0x28]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x460e0d
cmp word [ebp - 0x124], 0
je 0x460d4b
lea ecx, [ebp - 0x124]
call fcn.00452810
push esi
call fcn.0048d8c3
push ebx
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x460d89
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x460d85
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x460d67
push dword [ebp - 0x1c]
call fcn.0048d8c3
mov eax, dword [ebp - 0x20]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push esi
call fcn.0048d8c3
push ebx
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x460de9
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x460de5
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x460dc7
push dword [ebp - 0x1c]
call fcn.0048d8c3
add esp, 4
mov eax, 0x80070057
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ax, word [ebp - 0x124]
test ax, ax
jne 0x460e26
xor al, al
mov byte [ebp - 0x30], al
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x70], eax
jmp 0x460e90
lea ecx, [ebp - 0x124]
cmp ax, 0x13
je 0x460e7a
call fcn.00452810
push esi
call fcn.0048d8c3
push ebx
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x460de9
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x460e71
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x460e53
jmp 0x460de9
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x38], eax
mov al, 1
mov byte [ebp - 0x30], al
call fcn.00452810
cmp byte [ebp - 0x21], 0
je 0x460f97
xor eax, eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0xb4]
push edx
push 0xa
mov byte [ebp - 4], 6
push dword [ebp - 0x28]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x460edf
cmp word [ebp - 0xb4], 0
je 0x460f2b
lea ecx, [ebp - 0xb4]
call fcn.00452810
jmp 0x460f2b
mov ax, word [ebp - 0xb4]
cmp ax, 0x40
jne 0x460f14
mov ecx, dword [ebp - 0xa8]
xor eax, eax
or eax, dword [ebp - 0xac]
mov dword [ebp - 0x60], ecx
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x2f], 1
call fcn.00452810
jmp 0x460f97
test ax, ax
je 0x460f8b
lea ecx, [ebp - 0xb4]
call fcn.00452810
mov dword [ebp - 0x20], 0x80070057
push esi
call fcn.0048d8c3
push ebx
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x460f69
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x460f65
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x460f47
push dword [ebp - 0x1c]
call fcn.0048d8c3
mov eax, dword [ebp - 0x20]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
xorps xmm0, xmm0
mov byte [ebp - 0x2f], 0
movlpd qword [ebp - 0x64], xmm0
cmp byte [ebp - 0x22], 0
je 0x4610a0
xor eax, eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0xc4]
push edx
push 0xb
mov byte [ebp - 4], 7
push dword [ebp - 0x28]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x460fe6
cmp word [ebp - 0xc4], 0
je 0x461032
lea ecx, [ebp - 0xc4]
call fcn.00452810
jmp 0x461032
mov ax, word [ebp - 0xc4]
cmp ax, 0x40
jne 0x46101b
mov ecx, dword [ebp - 0xb8]
xor eax, eax
or eax, dword [ebp - 0xbc]
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x2e], 1
call fcn.00452810
jmp 0x4610a0
test ax, ax
je 0x461094
lea ecx, [ebp - 0xc4]
call fcn.00452810
mov dword [ebp - 0x20], 0x80070057
push esi
call fcn.0048d8c3
push ebx
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x461072
nop
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x46106e
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x461050
push dword [ebp - 0x1c]
call fcn.0048d8c3
mov eax, dword [ebp - 0x20]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
xorps xmm0, xmm0
mov byte [ebp - 0x2e], 0
movlpd qword [ebp - 0x5c], xmm0
cmp byte [ebp - 0x23], 0
je 0x4611a7
xor eax, eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0xd4]
push edx
push 0xc
mov byte [ebp - 4], 8
push dword [ebp - 0x28]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x4610ef
cmp word [ebp - 0xd4], 0
je 0x46113b
lea ecx, [ebp - 0xd4]
call fcn.00452810
jmp 0x46113b
mov ax, word [ebp - 0xd4]
cmp ax, 0x40
jne 0x461124
mov ecx, dword [ebp - 0xc8]
xor eax, eax
or eax, dword [ebp - 0xcc]
mov dword [ebp - 0x50], ecx
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x2d], 1
call fcn.00452810
jmp 0x4611a7
test ax, ax
je 0x46119b
lea ecx, [ebp - 0xd4]
call fcn.00452810
mov dword [ebp - 0x20], 0x80070057
push esi
call fcn.0048d8c3
push ebx
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x461179
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x461175
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x461157
push dword [ebp - 0x1c]
call fcn.0048d8c3
mov eax, dword [ebp - 0x20]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
xorps xmm0, xmm0
mov byte [ebp - 0x2d], 0
movlpd qword [ebp - 0x54], xmm0
xor eax, eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0xe4]
push edx
push 3
mov byte [ebp - 4], 9
push dword [ebp - 0x28]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x46124a
cmp word [ebp - 0xe4], 0
je 0x4611ea
lea ecx, [ebp - 0xe4]
call fcn.00452810
push esi
call fcn.0048d8c3
push ebx
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x461228
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x461224
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x461206
push dword [ebp - 0x1c]
call fcn.0048d8c3
mov eax, dword [ebp - 0x20]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ax, word [ebp - 0xe4]
test ax, ax
je 0x461384
cmp ax, 8
je 0x4612b7
lea ecx, [ebp - 0xe4]
call fcn.00452810
push esi
call fcn.0048d8c3
push ebx
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x460de9
nop dword [eax + eax]
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x4612ae
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x461290
jmp 0x460de9
push dword [ebp - 0xdc]
lea ecx, [ebp - 0x27c]
call fcn.00452230
mov byte [ebp - 4], 0xa
xor ecx, ecx
mov eax, dword [ebp - 0x278]
mov edx, 2
mov dword [ebp - 0x20], eax
inc eax
mul edx
mov dword [ebp - 0x18c], 0
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048d929
mov esi, eax
add esp, 4
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x18c], esi
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 0x27c]
push esi
call fcn.004a5400
or dword [ebp - 0x90], 1
lea ecx, [ebp - 0x18c]
add esp, 4
call fcn.00452550
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x8c]
call fcn.00452360
push esi
call fcn.0048d8c3
push dword [ebp - 0x27c]
call fcn.0048d8c3
add esp, 8
cmp word [ebp - 0xe4], 0
je 0x46137e
lea ecx, [ebp - 0xe4]
call fcn.00452810
mov esi, dword [ebp - 0x8c]
xor eax, eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x134]
push edx
push 6
mov byte [ebp - 4], 0xc
push dword [ebp - 0x28]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x461427
cmp word [ebp - 0x134], 0
je 0x4613c7
lea ecx, [ebp - 0x134]
call fcn.00452810
push esi
call fcn.0048d8c3
push ebx
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x461405
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x461401
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x4613e3
push dword [ebp - 0x1c]
call fcn.0048d8c3
mov eax, dword [ebp - 0x20]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ax, word [ebp - 0x134]
test ax, ax
jne 0x461438
mov byte [ebp - 0x29], al
jmp 0x4614ac
lea ecx, [ebp - 0x134]
cmp ax, 0xb
je 0x461497
call fcn.00452810
push esi
call fcn.0048d8c3
push ebx
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x460de9
nop dword [eax]
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x46148e
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x461470
jmp 0x460de9
cmp word [ebp - 0x12c], 0
mov byte [ebp - 0x29], 1
setne byte [ebp - 0x31]
call fcn.00452810
xor eax, eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x144]
push edx
push 0x15
mov byte [ebp - 4], 0xd
push dword [ebp - 0x28]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x461554
cmp word [ebp - 0x144], 0
je 0x4614ef
lea ecx, [ebp - 0x144]
call fcn.00452810
push esi
call fcn.0048d8c3
push ebx
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x461532
nop dword [eax + eax]
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x46152e
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x461510
push dword [ebp - 0x1c]
call fcn.0048d8c3
mov eax, dword [ebp - 0x20]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov cx, word [ebp - 0x144]
test cx, cx
jne 0x461569
xor al, al
mov byte [ebp - 0x32], cl
xor bl, bl
jmp 0x4615d7
cmp cx, 0xb
je 0x4615c7
lea ecx, [ebp - 0x144]
call fcn.00452810
push esi
call fcn.0048d8c3
push ebx
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x460de9
nop word [eax + eax]
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x4615be
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x4615a0
jmp 0x460de9
cmp word [ebp - 0x13c], 0
setne al
mov byte [ebp - 0x32], al
mov bl, al
mov byte [ebp - 4], 4
test cx, cx
je 0x4615ed
lea ecx, [ebp - 0x144]
call fcn.00452810
mov al, bl
test al, al
je 0x461604
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
xor al, al
movlpd qword [ebp - 0x4c], xmm0
jmp 0x461607
mov al, byte [ebp - 0x30]
cmp byte [ebp - 0x29], 0
jne 0x46161c
test al, al
je 0x46161c
mov eax, dword [ebp - 0x70]
shr eax, 4
and al, 1
mov byte [ebp - 0x31], al
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x44]
call fcn.00452360
cmp byte [ebp - 0x34], 0
je 0x4617d6
cmp byte [ebp - 0x31], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x4c], xmm0
jne 0x4617d6
xor eax, eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0xa0]
push edx
push 7
mov byte [ebp - 4], 0xe
push dword [ebp - 0x28]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov ebx, eax
test ebx, ebx
je 0x4616ea
cmp word [ebp - 0xa0], 0
je 0x461689
lea ecx, [ebp - 0xa0]
call fcn.00452810
push esi
call fcn.0048d8c3
push dword [ebp - 0x44]
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x4616c9
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x4616c5
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x4616a7
push dword [ebp - 0x1c]
call fcn.0048d8c3
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ax, word [ebp - 0xa0]
cmp ax, 0x15
je 0x461757
test ax, ax
je 0x461707
lea ecx, [ebp - 0xa0]
call fcn.00452810
push esi
call fcn.0048d8c3
push dword [ebp - 0x44]
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x460de9
nop dword [eax]
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x46174e
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x461730
jmp 0x460de9
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x4c], ecx
or ecx, eax
mov dword [ebp - 0x48], eax
je 0x4617c7
cmp byte [ebp - 0x32], 0
je 0x4617c7
lea ecx, [ebp - 0xa0]
call fcn.00452810
push esi
call fcn.0048d8c3
push dword [ebp - 0x44]
call fcn.0048d8c3
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 0xc
test esi, esi
je 0x460de9
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x4617be
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x4617a0
jmp 0x460de9
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 4
call fcn.00452810
push 0x40
call fcn.0048d8f9
mov ebx, eax
add esp, 4
mov dword [ebp - 0xa4], ebx
mov byte [ebp - 4], 0xf
mov edx, 2
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x6c]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x60]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x54]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x50]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x48]
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x68]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp - 0x40]
mov dword [ebx + 4], ecx
inc eax
xor ecx, ecx
mov dword [ebx + 0x28], 0
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048d929
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x40]
mov dword [ebx + 0x28], edx
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x30], eax
lea ecx, [eax*2 + 2]
push ecx
push dword [ebp - 0x44]
push edx
call fcn.004a5400
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x1c]
mov dword [ebx + 0x34], eax
add esp, 0xc
mov al, byte [ebp - 0x34]
mov byte [ebx + 0x38], al
mov al, byte [ebp - 0x33]
mov byte [ebx + 0x39], al
mov al, byte [ebp - 0x32]
mov byte [ebx + 0x3a], al
mov al, byte [ebp - 0x31]
mov byte [ebx + 0x3b], al
mov al, byte [ebp - 0x30]
mov byte [ebx + 0x3c], al
mov al, byte [ebp - 0x2f]
mov byte [ebx + 0x3d], al
mov al, byte [ebp - 0x2e]
mov byte [ebx + 0x3e], al
mov al, byte [ebp - 0x2d]
mov byte [ebx + 0x3f], al
mov byte [ebp - 4], 4
call fcn.00403f20
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
push esi
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
call fcn.0048d8c3
mov byte [ebp - 4], 2
push dword [ebp - 0x44]
call fcn.0048d8c3
add esp, 8
mov esi, dword [ebp - 0x28]
inc esi
jmp 0x460ab1
lea ecx, [ebp - 0x114]
call fcn.004601a0
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 0x10
call fcn.004601a0
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 0x11
push dword [ebx + 0x14]
lea ecx, [ebx - 0xc]
push eax
call fcn.00460370
mov dword [ebp - 0x78], eax
test eax, eax
je 0x4619b4
push dword [ebp - 0x150]
call fcn.0048d8c3
push dword [ebp - 0x168]
call fcn.0048d8c3
add esp, 8
lea ecx, [ebp - 0x174]
call fcn.004634c0
push dword [ebp - 0xf0]
call fcn.0048d8c3
push dword [ebp - 0x108]
call fcn.0048d8c3
add esp, 8
lea ecx, [ebp - 0x114]
call fcn.004634c0
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
je 0x461992
nop
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x46198e
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x461970
push dword [ebp - 0x1c]
call fcn.0048d8c3
mov eax, dword [ebp - 0x78]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [ebx + 0x6f], 0
je 0x461b9b
lea ecx, [ebp - 0x50]
call fcn.00455540
push str.LZMA
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x12
call fcn.00451fe0
push 0x18
call fcn.0048d8f9
mov ebx, eax
lea ecx, [ebp - 0x50]
mov dword [ebp - 0xa4], ebx
add esp, 4
xor eax, eax
mov byte [ebx + 4], 0
mov dword [ebx + 8], eax
mov dword [ebx + 0x10], eax
call fcn.00403f20
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x4c]
mov byte [ebx + 4], 1
mov dword [ebx], 9
cmp word [ebx + 8], 0
je 0x461a32
lea ecx, [ebx + 8]
call fcn.00452810
test eax, eax
jns 0x461a32
mov ecx, 0xa
mov dword [ebx + 0x10], eax
mov word [ebx + 8], cx
mov ecx, 0x4f2c98
mov dword [ebx + 8], 8
call fcn.004525b0
mov dword [ebx + 0x10], eax
test eax, eax
je 0x462568
push 5
push 0xf
lea ecx, [ebp - 0x50]
call fcn.00472180
push 0x111
push 8
lea ecx, [ebp - 0x50]
call fcn.00472180
push 0x100000
push 1
lea ecx, [ebp - 0x50]
call fcn.00472180
push 1
push 0xd
lea ecx, [ebp - 0x50]
call fcn.00472180
push 0x20
call fcn.0048d8f9
mov esi, eax
lea ecx, [ebp - 0x174]
add esp, 4
mov dword [ebp - 0xa4], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.00403f20
mov ecx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x174]
mov dword [eax + ecx*4], esi
lea eax, [ebp - 0x50]
inc dword [ebp - 0x170]
push eax
push esi
call fcn.00460250
mov byte [ebp - 4], 0x11
mov ebx, eax
push dword [ebp - 0x38]
call fcn.0048d8c3
push dword [ebp - 0x44]
call fcn.0048d8c3
add esp, 8
lea ecx, [ebp - 0x50]
call fcn.004575a0
test ebx, ebx
je 0x461b98
push dword [ebp - 0x150]
call fcn.0048d8c3
push dword [ebp - 0x168]
call fcn.0048d8c3
add esp, 8
lea ecx, [ebp - 0x174]
call fcn.004634c0
push dword [ebp - 0xf0]
call fcn.0048d8c3
push dword [ebp - 0x108]
call fcn.0048d8c3
add esp, 8
lea ecx, [ebp - 0x114]
call fcn.004634c0
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
je 0x461b77
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x461b73
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x461b55
push dword [ebp - 0x1c]
call fcn.0048d8c3
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xf8], eax
mov al, byte [ebx + 0x78]
mov byte [ebp - 0xf4], al
mov dword [ebp - 0x158], 1
mov byte [ebp - 0x154], al
mov dword [ebp - 0x74], 0
mov esi, dword [ebp + 0x14]
lea ecx, [ebp - 0x74]
push ecx
mov byte [ebp - 4], 0x13
push 0x4e9810
mov eax, dword [esi]
push esi
call dword [eax]
mov eax, dword [ebp - 0xf0]
xor ecx, ecx
mov byte [ebp - 0xf3], 0
mov dword [ebp - 0xec], 0
mov word [eax], cx
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x461d05
mov dword [ebp - 0x28], ecx
lea edx, [ebp - 0x28]
mov byte [ebp - 4], 0x14
mov ecx, dword [eax]
push edx
lea edx, [ebp - 0x78]
push edx
push eax
call dword [ecx + 0xc]
mov ebx, eax
test ebx, ebx
je 0x461cd4
push dword [ebp - 0x28]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x461c39
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x150]
call fcn.0048d8c3
push dword [ebp - 0x168]
call fcn.0048d8c3
add esp, 8
lea ecx, [ebp - 0x174]
call fcn.004634c0
push dword [ebp - 0xf0]
call fcn.0048d8c3
push dword [ebp - 0x108]
call fcn.0048d8c3
add esp, 8
lea ecx, [ebp - 0x114]
call fcn.004634c0
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
je 0x461cb3
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x461caf
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x461c91
push dword [ebp - 0x1c]
call fcn.0048d8c3
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp - 0x78]
test eax, eax
setne byte [ebp - 0xf3]
test eax, eax
je 0x461cf7
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x461cfa
push eax
lea ecx, [ebp - 0xf0]
call fcn.004522f0
mov eax, dword [ebp - 0x28]
push eax
mov byte [ebp - 4], 0x13
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [ebp + 8]
xor bl, bl
mov al, byte [ebp - 0xf3]
mov bh, byte [ecx + 0x6f]
test al, al
jne 0x461d45
cmp byte [ecx + 0x1bd], al
je 0x461d77
lea eax, [ecx + 0x1c0]
mov byte [ebp - 0xf3], 1
push eax
lea ecx, [ebp - 0xf0]
call fcn.00452360
mov al, byte [ebp - 0xf3]
mov ecx, dword [ebp + 8]
test al, al
je 0x461d77
cmp byte [ecx + 0x70], 0
je 0x461d50
mov bl, byte [ecx + 0x71]
jmp 0x461d56
mov bl, byte [ecx + 0x1bd]
mov bh, 1
test bl, bl
je 0x461d77
mov byte [ebp - 0x153], al
lea ecx, [ebp - 0x150]
lea eax, [ebp - 0xf0]
push eax
call fcn.00452360
mov ecx, dword [ebp + 8]
xor edx, edx
movzx eax, bh
cmp dword [ebp + 0x10], 2
mov esi, 5
cmovae edx, eax
mov eax, dword [ecx + 0xc]
cmp eax, 0xffffffff
cmove eax, esi
cmp byte [ecx + 0x6f], 0
lea esi, [ebp - 0x114]
mov dword [ebp - 0x5c], esi
mov esi, dword [ebp + 0x14]
jne 0x461db0
test bl, bl
jne 0x461db0
mov dword [ebp - 0x58], 0
jmp 0x461db9
lea ebx, [ebp - 0x174]
mov dword [ebp - 0x58], ebx
test eax, eax
je 0x461dd0
cmp byte [ecx + 0x50], 0
je 0x461dd0
cmp byte [ebp - 0xfb], 0
mov byte [ebp - 0x54], 1
je 0x461dd4
mov byte [ebp - 0x54], 0
cmp eax, 8
mov byte [ebp - 0x4c], dl
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x50], eax
setge byte [ebp - 0x53]
mov eax, dword [ecx + 0x5c]
mov dword [ebp - 0x44], eax
mov eax, dword [ecx + 0x60]
mov dword [ebp - 0x40], eax
mov eax, dword [ecx + 0x64]
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0x38], eax
mov al, byte [ecx + 0x6d]
mov byte [ebp - 0x34], al
mov al, byte [ecx + 0x6e]
push 4
mov byte [ebp - 0x33], al
mov al, byte [ecx + 0x54]
push 0x1000
mov byte [ebp - 0x32], al
mov al, byte [ecx + 0x78]
push 0x10000
push 0
mov byte [ebp - 0x31], al
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2b8], 0x10000
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1e8], 0
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x80], 0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x18
mov eax, dword [esi]
push ecx
push 0x4e9820
push esi
call dword [eax]
push dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
lea eax, [ebp - 0x5c]
push eax
push esi
push dword [ebp + 0xc]
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x2e0]
push eax
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x7c]
call fcn.00475390
mov ebx, eax
add esp, 0x1c
test ebx, ebx
je 0x4622f8
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x462124
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x198]
call fcn.0048d8c3
push dword [ebp - 0x1a4]
call fcn.0048d8c3
push dword [ebp - 0x1b0]
call fcn.0048d8c3
push dword [ebp - 0x1bc]
call fcn.0048d8c3
push dword [ebp - 0x1c8]
call fcn.0048d8c3
push dword [ebp - 0x1d4]
call fcn.0048d8c3
push dword [ebp - 0x1e0]
call fcn.0048d8c3
push dword [ebp - 0x1ec]
call fcn.0048d8c3
push dword [ebp - 0x1f8]
call fcn.0048d8c3
add esp, 0x24
lea ecx, [ebp - 0x204]
call fcn.004055a0
push dword [ebp - 0x210]
call fcn.0048d8c3
add esp, 4
lea ecx, [ebp - 0x21c]
call fcn.004632f0
push dword [ebp - 0x228]
call fcn.0048d8c3
push dword [ebp - 0x234]
call fcn.0048d8c3
push dword [ebp - 0x240]
call fcn.0048d8c3
push dword [ebp - 0x24c]
call fcn.0048d8c3
push dword [ebp - 0x258]
call fcn.0048d8c3
push dword [ebp - 0x264]
call fcn.0048d8c3
push dword [ebp - 0x270]
call fcn.0048d8c3
add esp, 0x1c
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x28c]
test ecx, ecx
je 0x462212
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x290]
test ecx, ecx
je 0x462226
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x2c8]
test eax, eax
je 0x462242
push 0x8000
push 0
push eax
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov dword [ebp - 0x2c8], 0
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x46225d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x150]
call fcn.0048d8c3
push dword [ebp - 0x168]
call fcn.0048d8c3
add esp, 8
lea ecx, [ebp - 0x174]
call fcn.004634c0
push dword [ebp - 0xf0]
call fcn.0048d8c3
push dword [ebp - 0x108]
call fcn.0048d8c3
add esp, 8
lea ecx, [ebp - 0x114]
call fcn.004634c0
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
je 0x4622d7
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x4622d3
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x4622b5
push dword [ebp - 0x1c]
call fcn.0048d8c3
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x462322
nop
mov eax, dword [ebp - 0x1c]
dec esi
mov ebx, dword [eax + esi*4]
test ebx, ebx
je 0x46231e
push dword [ebx + 0x28]
call fcn.0048d8c3
push 0x40
push ebx
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x462300
push dword [ebp - 0x1c]
mov dword [ebp - 0x18], 0
call fcn.0048d8c3
add esp, 4
mov dword [ebp - 0x1c], 0
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x14], 0
push eax
push dword [ebp - 0x58]
lea eax, [ebp - 0x270]
push eax
call fcn.00478b00
mov ebx, eax
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x462375
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x198]
call fcn.0048d8c3
push dword [ebp - 0x1a4]
call fcn.0048d8c3
push dword [ebp - 0x1b0]
call fcn.0048d8c3
push dword [ebp - 0x1bc]
call fcn.0048d8c3
push dword [ebp - 0x1c8]
call fcn.0048d8c3
push dword [ebp - 0x1d4]
call fcn.0048d8c3
push dword [ebp - 0x1e0]
call fcn.0048d8c3
push dword [ebp - 0x1ec]
call fcn.0048d8c3
push dword [ebp - 0x1f8]
call fcn.0048d8c3
add esp, 0x24
lea ecx, [ebp - 0x204]
call fcn.004055a0
push dword [ebp - 0x210]
call fcn.0048d8c3
add esp, 4
lea ecx, [ebp - 0x21c]
call fcn.004632f0
push dword [ebp - 0x228]
call fcn.0048d8c3
push dword [ebp - 0x234]
call fcn.0048d8c3
push dword [ebp - 0x240]
call fcn.0048d8c3
push dword [ebp - 0x24c]
call fcn.0048d8c3
push dword [ebp - 0x258]
call fcn.0048d8c3
push dword [ebp - 0x264]
call fcn.0048d8c3
push dword [ebp - 0x270]
call fcn.0048d8c3
add esp, 0x1c
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x28c]
test ecx, ecx
je 0x462463
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x290]
test ecx, ecx
je 0x462477
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x2c8]
test eax, eax
je 0x462493
push 0x8000
push 0
push eax
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov dword [ebp - 0x2c8], 0
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x4624ae
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x150]
call fcn.0048d8c3
push dword [ebp - 0x168]
call fcn.0048d8c3
add esp, 8
lea ecx, [ebp - 0x174]
call fcn.004634c0
push dword [ebp - 0xf0]
call fcn.0048d8c3
push dword [ebp - 0x108]
call fcn.0048d8c3
add esp, 8
lea ecx, [ebp - 0x114]
call fcn.004634c0
push edi
call fcn.0048d8c3
mov esi, dword [ebp - 0x18]
add esp, 4
test esi, esi
je 0x462528
mov eax, dword [ebp - 0x1c]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x462524
push dword [edi + 0x28]
call fcn.0048d8c3
push 0x40
push edi
call fcn.0048d8eb
add esp, 0xc
test esi, esi
jne 0x462506
push dword [ebp - 0x1c]
call fcn.0048d8c3
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x506038
lea eax, [ebp - 0x180]
mov dword [ebp - 0x180], str.out_of_memory
push eax
call fcn.004a538b
int3