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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x224
mov eax, dword [edx + 0x14]
test eax, eax
je 0x45b4bc
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x18]
mov edi, dword [edx + 8]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 1
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 1
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 1
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 1
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 1
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 1
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 1
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 1
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 1
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 1
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 1
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 1
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 1
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 1
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 1
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 1
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 1
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 1
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 1
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 1
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 1
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 1
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 1
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 1
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 1
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 1
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 1
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 1
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 1
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 1
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 1
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 1
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 1
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 1
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 1
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 1
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 1
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 1
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 1
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 1
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 1
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1b0], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 1
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 1
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 1
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 1
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d8], 1
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1e0], 1
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1e8], 1
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1f0], 1
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f8], 1
mov dword [esp + 0x1fc], 0
mov dword [esp + 0x200], 1
mov dword [esp + 0x204], 0
mov dword [esp + 0x208], 1
mov dword [esp + 0x20c], 0
mov dword [esp + 0x210], 1
mov dword [esp + 0x214], 0
mov dword [esp + 0x218], 1
mov dword [esp + 0x21c], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x220], 1
mov dword [esp], edx
mov dword [esp + 4], eax
mov eax, dword [edx + 0x14]
mov dword [esp + 0x10], edi
test eax, eax
je 0x45b4cb
mov ecx, dword [edx + 0x10]
xor esi, esi
mov edx, edi
mov ebx, edx
cmp ecx, edi
cmovb edi, esi
mov esi, eax
sub ecx, edi
sub ebx, ecx
sub esi, ebx
jbe 0x45b4d3
mov eax, edx
jmp 0x45b4d7
mov dword [ecx + 4], 0
mov byte [ecx], 4
jmp 0x45b68e
xor ecx, ecx
xor eax, eax
xor esi, esi
jmp 0x45b4da
add eax, ecx
xor esi, esi
mov edx, dword [esp]
sub eax, ecx
mov edx, dword [edx + 0xc]
shl eax, 2
lea eax, [eax + eax*2]
mov edi, eax
shr edi, 2
mov dword [esp + 8], edx
imul edx, edi, 0xaaaaaaab
add esi, edx
je 0x45b586
shl ecx, 2
cmp esi, 0x40
mov ebp, 0x40
lea ebx, [ecx + ecx*2]
mov ecx, dword [esp + 8]
cmovb ebp, esi
test eax, eax
lea edi, [ecx + ebx]
cmove edi, ecx
mov ecx, dword [esp + 4]
mov eax, dword [edi + 8]
sub eax, ecx
jb 0x45b699
mov edi, dword [edi + 4]
mov dword [esp + 0x24], eax
add edi, ecx
cmp esi, 1
mov dword [esp + 0x28], edi
je 0x45b586
lea eax, [edx*4]
mov esi, ebp
mov ebp, edx
mov edx, dword [esp + 8]
lea eax, [eax + eax*2]
neg eax
lea ecx, [edx + eax + 0xc]
lea edi, [ebx + edx + 0xc]
mov edx, ebp
mov eax, 1
nop dword [eax]
cmp edx, eax
mov edx, ecx
mov ebx, esi
cmova edx, edi
add ecx, 0xc
add edi, 0xc
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + eax*8 + 0x24], edx
mov dword [esp + eax*8 + 0x28], esi
inc eax
mov edx, ebp
mov esi, ebx
cmp ebx, eax
jne 0x45b560
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x23c]
mov ecx, 0x40
lea edx, [esp + 0x24]
lea edi, [esp + 0x14]
cmp esi, 0x40
cmovb ecx, esi
push ecx
push edx
push dword [esp + 0x240]
push edi
call dword [eax + 0x30]
add esp, 0x10
movzx eax, byte [esp + 0x14]
cmp al, 4
jne 0x45b660
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 4]
mov edi, dword [esp + 0x10]
dec esi
xor ebx, ebx
mov dword [esp + 0x1c], eax
add ebp, eax
mov eax, dword [esp]
mov dword [eax + 0x18], ebp
mov eax, dword [eax + 0x10]
jmp 0x45b604
mov eax, edi
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 4]
add esi, 0xffffffff
mov ebx, 0
jae 0x45b680
cmp eax, edi
mov ecx, edi
mov edx, eax
cmovb ecx, ebx
sub edx, ecx
lea ecx, [edx + edx*2]
mov edx, dword [esp + 8]
sub ebp, dword [edx + ecx*4 + 8]
jb 0x45b680
mov ecx, ebp
mov ebp, dword [esp]
mov dword [esp + 4], ecx
mov dword [ebp + 0x18], ecx
lea ecx, [eax + 1]
cmp ecx, edi
mov ecx, edi
cmovb ecx, ebx
neg ecx
lea edi, [eax + ecx + 1]
lea eax, [eax + eax*2]
mov dword [ebp + 0x10], edi
mov dword [ebp + 0x14], esi
test dword [edx + eax*4], 0x7fffffff
je 0x45b5f0
lea eax, [edx + eax*4]
push dword [eax + 4]
push 0
push dword [0x903200]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x45b5f0
movzx ecx, byte [esp + 0x17]
mov edx, dword [esp + 0xc]
movzx edi, word [esp + 0x15]
mov esi, dword [esp + 0x18]
mov byte [edx + 3], cl
mov word [edx + 1], di
mov byte [edx], al
mov dword [edx + 4], esi
jmp 0x45b68e
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov byte [eax], 4
add esp, 0x224
pop esi
pop edi
pop ebx
pop ebp
ret
ud2