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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, eax
mov eax, dword [esi]
mov edx, dword [esi + 8]
xor ecx, ecx
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 4], eax
mov ebx, edx
cmp dword [esi + 0x1bc], ecx
je 0x466b2f
mov dword [ebp - 8], 1
cmp eax, dword [esi + 4]
je 0x466b32
mov dword [ebp - 8], ecx
test dword [edi + 0x2c], 0x102
je 0x466fb9
test byte [ebp + 0xc], 5
mov ebx, dword [esi + 4]
mov dword [esi], ebx
je 0x466bd0
xor edx, edx
mov dword [esi + 0x16c], edx
cmp ebx, edx
je 0x466c28
mov eax, dword [esi + 0x68]
cmp eax, 0x77
jg 0x466c28
movzx ecx, word [ebx + eax*4 + 0xa]
mov edi, 0xffff
cmp cx, di
je 0x466c28
mov edx, ecx
mov ecx, dword [ebp + 8]
imul edx, edx, 0x4c
mov edi, dword [ecx + 0x38]
add edi, edx
xor edx, edx
mov dword [esi + 8], edi
mov dword [ebp - 4], edi
cmp dword [edi + 0x34], edx
je 0x466bbd
mov edx, dword [edi + 4]
mov dword [esi + 0x7c], edx
test byte [ecx + 0x2c], 2
jne 0x466ba8
movzx eax, word [ebx + eax*4 + 8]
call fcn.00465d0f
mov dword [esi + 0x84], eax
mov dword [esi + 0xd8], eax
xor edx, edx
jmp 0x466c30
mov dword [esi + 8], edx
mov dword [esi + 0xec], edx
mov dword [esi + 0x100], 1
xor edx, edx
cmp dword [ebp - 8], edx
jne 0x466bdd
mov dword [esi + 0x16c], edx
cmp ebx, edx
je 0x4671a3
mov eax, dword [esi + 0x68]
cmp eax, 0x77
jg 0x4671a3
movzx eax, word [ebx + eax*4 + 0xa]
mov ecx, 0xffff
cmp ax, cx
je 0x4671a3
mov edi, dword [ebp + 8]
imul eax, eax, 0x4c
add eax, dword [edi + 0x38]
jne 0x466dbc
mov dword [esi + 0x54], pe_nt_image_headers32
mov dword [esi + 0x5c], edx
mov dword [esi + 0x80], edx
jmp 0x466f97
xor edi, edi
mov dword [esi + 8], edx
mov dword [ebp - 4], edi
cmp edi, edx
je 0x466bc0
mov ecx, dword [esi + 0x120]
cmp ecx, dword [edi + 0x14]
jl 0x466c51
mov ecx, dword [ebp + 8]
test dword [ecx + 0x2c], 0x800
je 0x466ca0
mov dword [esi + 0x120], edx
or byte [esi + 0x11d], 1
cmp byte [edi + 0x3e], 0
je 0x466cbf
cmp byte [edi + 0x3f], 0
je 0x466cbf
mov dword [esi + 0xec], 1
mov al, byte [edi + 0x3c]
mov byte [esi + 0xf0], al
mov al, byte [edi + 0x3e]
mov byte [esi + 0xf2], al
mov al, byte [edi + 0x3f]
mov byte [esi + 0xf1], al
mov byte [esi + 0xf3], al
mov al, byte [edi + 0x3d]
mov byte [esi + 0xf4], al
mov dword [esi + 0xf8], edx
jmp 0x466cc5
test byte [edi + 0x20], 0x10
je 0x466caf
or dword [esi + 0x120], 0xffffffff
jmp 0x466c51
mov dword [esi + 8], edx
mov dword [ebp - 4], edx
mov dword [esi + 0x100], 1
mov dword [esi + 0xec], edx
test byte [ebp + 0xc], 0x10
mov eax, dword [ebx + 0x33c]
mov dword [esi + 0x140], eax
jne 0x466bd0
mov eax, dword [ebp + 8]
test dword [eax + 0x2c], 0x200
je 0x466bd0
mov eax, dword [ebx + 0x358]
test al, al
jns 0x466cfe
and eax, 0x7f
mov dword [esi + 0x184], eax
mov eax, dword [ebx + 0x35c]
test al, al
jns 0x466d11
and eax, 0x7f
mov dword [esi + 0x188], eax
cmp dword [ebx + 0x348], 0
je 0x466bd0
mov eax, dword [ebp + 8]
mov edi, dword [eax + 8]
imul edi, edi, 0x20c
add edi, dword [eax + 0x1ec]
mov eax, dword [eax + 0x1f0]
mov dword [ebp - 0xc], eax
cmp byte [edi + 0x1b4], 0
je 0x466dac
mov eax, dword [edi + 0x12c]
cmp eax, dword [esi + 0x12c]
jne 0x466dac
cmp dword [edi], ebx
jne 0x466dac
mov eax, dword [ebx + 0x348]
dec eax
je 0x466d6d
dec eax
je 0x466d65
dec eax
je 0x466d75
jmp 0x466dac
mov eax, dword [edi + 8]
cmp eax, dword [ebp - 4]
jmp 0x466d73
mov eax, dword [edi + 0x68]
cmp eax, dword [esi + 0x68]
jne 0x466dac
mov eax, dword [ebx + 0x34c]
sub eax, 0
je 0x466da2
dec eax
je 0x466d96
dec eax
jne 0x466dac
mov eax, dword [edi + 0xc]
cmp eax, 0x7fff
jne 0x466dac
dec eax
mov dword [edi + 0xc], eax
jmp 0x466dac
mov edx, dword [ebp + 8]
mov eax, edi
call fcn.00465c13
jmp 0x466dac
mov dword [edi + 0x100], 1
add edi, 0x20c
dec dword [ebp - 0xc]
jne 0x466d39
jmp 0x466bd0
mov ecx, dword [ebp + 0xc]
and ecx, 0x20
mov dword [ebp - 4], ecx
jne 0x466de1
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jge 0x466dde
mov ecx, dword [ebx + 0x338]
cmp ecx, edx
jge 0x466dde
mov ecx, dword [esi + 0x178]
mov dword [esi + 0x54], ecx
test byte [ebp + 0xc], 0x40
jne 0x466dfc
mov ecx, dword [eax + 0x40]
mov dword [esi + 0x130], ecx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x80], ecx
test dword [edi + 0x2c], 0x200
je 0x466f8e
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xc], ecx
cmp dword [ebx + 0x350], edx
je 0x466e44
mov ecx, dword [ebx + 0x350]
call fcn.00451073
xor edx, edx
lea edi, [ecx + ecx]
div edi
push 0x64
mov eax, edx
sub eax, ecx
add eax, 0x64
imul eax, dword [ebp - 0xc]
pop ecx
xor edx, edx
div ecx
push 0x40
pop ecx
cmp eax, ecx
jae 0x466e44
mov ecx, eax
mov eax, dword [ebx + 0x334]
imul eax, ecx
shr eax, 7
cmp dword [ebp - 4], 0
mov dword [esi + 0x130], eax
jne 0x466f8e
mov eax, dword [ebx + 0x340]
xor ecx, ecx
cmp eax, ecx
je 0x466e82
mov edx, dword [esi + 0x68]
sub edx, dword [ebx + 0x344]
imul edx, eax
sar edx, 1
mov dword [esi + 0x164], edx
jmp 0x466e88
mov dword [esi + 0x164], ecx
cmp dword [ebx + 0x354], ecx
je 0x466ef5
cmp dword [esi + 0x54], ecx
jl 0x466ef5
mov ecx, dword [ebx + 0x354]
call fcn.00451073
xor edx, edx
lea edi, [ecx + ecx]
div edi
mov eax, dword [ebp + 8]
sub edx, ecx
test dword [eax + 0x2c], 0x10000
je 0x466edb
mov eax, dword [eax + 0x30]
mov ecx, eax
and ecx, 0xfffff000
cmp ecx, 0x5000
jne 0x466ecf
and eax, 0xfff
jmp 0x466ed1
xor eax, eax
cmp eax, 0x126
jae 0x466edb
sar edx, 2
add dword [esi + 0x54], edx
mov ecx, dword [esi + 0x54]
jns 0x466ee9
and dword [esi + 0x54], 0
jmp 0x466ef5
mov eax, 0xff
cmp ecx, eax
jle 0x466ef5
mov dword [esi + 0x54], eax
cmp dword [ebp - 8], 0
je 0x466f0d
mov al, byte [ebx + 0x1e8]
and al, 0x21
cmp al, 0x21
jne 0x466f0d
and byte [esi + 0x14], 0xf7
jmp 0x466f21
push 0xffffffffffffffc0
push esi
push dword [ebp + 8]
lea edi, [ebx + 0x1e8]
lea ecx, [esi + 0x14]
call fcn.00466507
cmp dword [ebp - 8], 0
je 0x466f39
mov al, byte [ebx + 0x252]
and al, 0x21
cmp al, 0x21
jne 0x466f39
and byte [esi + 0x30], 0xf7
jmp 0x466f4d
push 0xffffffffffffffe0
push esi
push dword [ebp + 8]
lea edi, [ebx + 0x252]
lea ecx, [esi + 0x30]
call fcn.00466507
cmp dword [ebp - 8], 0
je 0x466f68
mov al, byte [ebx + 0x2c8]
and al, 0x21
cmp al, 0x21
jne 0x466f68
and byte [esi + 0x148], 0xf7
jmp 0x466f8e
lea edi, [ebx + 0x2c8]
test byte [edi], 0x10
lea ecx, [esi + 0x148]
je 0x466f80
push 0xfffff800
jmp 0x466f85
push 0xfffffc00
push esi
push dword [ebp + 8]
call fcn.00466507
mov eax, dword [ebx + 0x2bc]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0xc]
and eax, 0x20
jne 0x466fa6
mov dword [esi + 0xc], 0x7fff
test eax, eax
jne 0x466fb1
mov dword [esi + 0x4c], 1
mov edx, dword [ebp + 8]
jmp 0x467250
test byte [ebp + 0xc], 5
je 0x4670ac
test byte [ebp + 0xc], 8
mov eax, dword [esi + 4]
mov dword [ebp - 0xc], ecx
mov dword [esi], eax
mov dword [ebp - 4], eax
je 0x466fde
test byte [edi + 0x2c], 8
jne 0x4670f4
test eax, eax
je 0x4670ef
mov ecx, dword [esi + 0x68]
movzx eax, word [eax + ecx*4 + 0xa]
mov ebx, 0xffff
cmp ax, bx
je 0x4670ef
mov ebx, eax
imul ebx, ebx, 0x4c
add ebx, dword [edi + 0x38]
cmp dword [ebx + 0x34], 0
je 0x467085
mov eax, dword [edi + 0x2c]
test al, 8
jne 0x46705c
mov edi, dword [ebx + 8]
add edi, ecx
cmp edi, 0x77
mov edi, dword [ebp + 8]
jl 0x46705c
test eax, 0x10000
je 0x467045
push 0x77
mov dword [esi + 8], ebx
pop eax
sub eax, dword [ebx + 8]
mov dword [esi + 0x68], eax
mov eax, dword [ebx + 8]
mov dword [esi + 0x64], eax
mov eax, dword [ebx + 4]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x68]
add eax, dword [esi + 0x64]
jmp 0x467070
mov eax, dword [esi + 0x1b8]
mov dword [esi + 0x68], eax
mov ebx, edx
mov dword [ebp - 0xc], 1
jmp 0x4670f4
mov dword [esi + 8], ebx
mov eax, dword [ebx + 8]
mov dword [esi + 0x64], eax
mov eax, dword [ebx + 4]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x64]
add eax, ecx
mov ecx, edi
call fcn.00465d0f
mov dword [esi + 0x84], eax
mov dword [esi + 0xd8], eax
jmp 0x4670f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
and al, 1
movzx eax, al
neg eax
sbb eax, eax
and eax, ebx
mov dword [esi + 8], eax
xor ebx, ebx
and dword [esi + 0xec], 0
mov dword [esi + 0x100], 1
test byte [ebp + 0xc], 2
je 0x467257
mov ecx, dword [edi + 0x2c]
mov edx, 0x88
and ecx, edx
cmp ecx, edx
jne 0x4671e7
mov eax, dword [esi + 4]
test eax, eax
je 0x4671e7
movzx eax, word [eax + 0xa]
mov ecx, dword [edi + 0x38]
imul eax, eax, 0x4c
mov eax, dword [eax + ecx + 0xc]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x80], eax
jmp 0x467219
xor ebx, ebx
mov dword [esi + 8], ebx
test ebx, ebx
je 0x46709b
and dword [esi + 0xe4], 0
cmp dword [ebp - 0xc], 0
jne 0x467180
mov ecx, dword [edi + 0x2c]
test cl, cl
jns 0x467118
cmp dword [edi + 0x1c], 0xf
jne 0x467118
test byte [ebx + 0x20], 0x10
jne 0x467170
mov eax, dword [esi + 0x120]
cmp eax, dword [ebx + 0x14]
jl 0x467179
test ecx, 0x10000
je 0x46714e
mov eax, dword [edi + 0x30]
mov edx, eax
and edx, 0xfffff000
cmp edx, 0x5000
jne 0x467145
and eax, 0xfff
jmp 0x467147
xor eax, eax
cmp eax, 0x118
jb 0x46715c
mov eax, ecx
mov ecx, 0x88
and eax, ecx
cmp eax, 8
jne 0x467166
test byte [ebx + 0x20], 0x10
jne 0x467170
xor eax, eax
jmp 0x467173
cmp eax, ecx
jne 0x467198
test byte [ebx + 0x20], 0x10
je 0x467198
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x120], eax
or byte [esi + 0x11d], 1
test byte [ebp + 0xc], 4
je 0x4671b2
push dword [ebp - 4]
mov edi, esi
call fcn.00466a2b
mov edi, dword [ebp + 8]
jmp 0x4670ac
and dword [esi + 8], 0
and dword [esi + 0xec], 0
mov dword [esi + 0x100], 1
jmp 0x467257
mov eax, dword [ebp - 4]
test eax, eax
je 0x4670ac
test byte [eax + 0x1e8], 1
jne 0x4670ac
cmp dword [esi + 0xc], 0
jne 0x4670ac
mov dword [esi + 0xc], 0x7ef4
mov dword [esi + 0x10], pe_nt_image_headers32
jmp 0x4670ac
test ebx, ebx
jne 0x467203
cmp ecx, edx
je 0x4671f6
mov dword [esi + 0x54], pe_nt_image_headers32
and dword [esi + 0x5c], 0
and dword [esi + 0x80], 0
jmp 0x467219
mov eax, dword [ebx + 0x10]
test eax, eax
js 0x46720d
mov dword [esi + 0x54], eax
mov ebx, dword [ebx + 0xc]
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x80], ebx
test byte [ebp + 0xc], 0x20
jne 0x46724e
push dword [ebp - 4]
mov edi, esi
call fcn.00466a2b
cmp dword [ebp - 4], 0
je 0x467236
or byte [esi + 0x11d], 6
and dword [esi + 0xe4], 0
mov edi, dword [ebp + 8]
mov dword [esi + 0xc], 0x7ef4
mov dword [esi + 0x78], 1
mov edx, edi
mov ecx, esi
call fcn.00465bd5
pop edi
pop esi
pop ebx
leave
ret 8