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

Disassembly:
mov eax, dword [esp + 0x28]
sub esp, 0x2c
test eax, eax
nop
push ebx
push esi
push edi
push ebp
je 0x45bc19
mov ecx, dword [eax]
test ecx, ecx
jne 0x45bc19
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
push edi
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x74]
push edx
mov ebp, dword [esp + 0x74]
push eax
push ecx
push ebp
call fcn.0045b900
add esp, 0x40
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x2c
ret
mov esi, dword [esp + 0x84]
test esi, esi
jge 0x45bc26
xor esi, esi
mov eax, dword [esp + 0x78]
test eax, eax
je 0x45bc7f
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x74]
push edi
lea edx, [esp + 0x74]
push eax
lea eax, [esp + 0x74]
push ecx
lea ecx, [esp + 0x74]
push edx
lea edx, [esp + 0x68]
push eax
lea eax, [esp + 0x68]
push ecx
lea ecx, [esp + 0x68]
push edx
lea edx, [esp + 0x68]
push eax
mov eax, dword [esp + 0x68]
push ecx
mov ebp, dword [esp + 0x64]
push edx
push eax
push ebp
call fcn.0045bf80
add esp, 0x30
test eax, eax
je 0x45bf6c
jmp 0x45bc8a
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x70]
shl eax, 8
cdq
idiv dword [esp + 0x54]
mov ebx, eax
lea ecx, [esp + 0x28]
mov eax, dword [esp + 0x74]
push ecx
shl eax, 8
cdq
idiv dword [esp + 0x5c]
lea edx, [esp + 0x38]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x14]
push edx
push eax
push ebp
call fcn.0045c1a0
lea ecx, [esp + 0x28]
lea edx, [esp + 0x3c]
lea eax, [esp + 0x2c]
add esp, 0x10
push ecx
push edx
mov ecx, dword [esp + 0x64]
push eax
push ecx
call fcn.0045c1a0
add esp, 0x10
test edi, edi
je 0x45bcea
mov eax, dword [esp + 0x18]
neg eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
shl eax, 8
cdq
idiv dword [esp + 0x70]
mov dword [esp + 0x20], eax
cmp ecx, 1
jne 0x45bd14
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
imul eax, dword [esp + 0x50]
add eax, ecx
jmp 0x45bd2a
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
sub eax, ecx
mov edx, dword [esp + 0x4c]
dec eax
imul eax, dword [esp + 0x10]
add eax, edx
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x68]
add edi, eax
mov eax, dword [esp + 0x7c]
test eax, eax
mov eax, dword [esp + 0x54]
jne 0x45bd5b
test eax, eax
jle 0x45bd79
mov ecx, 0x56e108
mov ebp, edx
add ecx, 4
sar ebp, 8
add edx, ebx
dec eax
mov dword [ecx - 4], ebp
jne 0x45bd49
jmp 0x45bd79
dec eax
cmp eax, 0xffffffff
jle 0x45bd79
lea ecx, [eax*4 + 0x56e108]
inc eax
mov ebp, edx
sub ecx, 4
sar ebp, 8
add edx, ebx
dec eax
mov dword [ecx + 4], ebp
jne 0x45bd69
mov eax, dword [esp + 0x7c]
test eax, eax
jne 0x45bebb
mov eax, dword [esp + 0x64]
test eax, eax
je 0x45bebb
mov eax, dword [eax + 0x14]
test eax, eax
je 0x45bebb
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], 0
imul eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
shl eax, 8
test ecx, ecx
mov dword [esp + 0x14], eax
jle 0x45bf6c
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
sar ecx, 8
cmp eax, 1
jne 0x45bde5
mov edx, dword [esp + 0x1c]
imul edx, ecx
jmp 0x45bdf1
mov edx, dword [esp + 0x2c]
sub edx, ecx
dec edx
imul edx, dword [esp + 0x1c]
shl ecx, 4
mov eax, dword [esp + 0x60]
add edx, eax
mov ebx, dword [esp + 0x68]
add edx, ebx
mov eax, dword [esp + 0x38]
add eax, ecx
cmp dword [eax], 0
jne 0x45be8a
mov ebx, dword [eax + 8]
mov ecx, dword [esp + 0x68]
cmp ebx, ecx
jge 0x45be1a
xor ebx, ebx
jmp 0x45be26
sub ebx, dword [esp + 0x68]
imul ebx, dword [esp + 0x20]
sar ebx, 8
mov ebp, dword [eax + 0xc]
mov ecx, dword [esp + 0x68]
sub ebp, ecx
mov ecx, dword [esp + 0x54]
inc ebp
imul ebp, dword [esp + 0x20]
sar ebp, 8
cmp ecx, ebp
jge 0x45be42
mov ebp, ecx
cmp ebp, ebx
jle 0x45be8a
mov ecx, dword [esp + 0x20]
cmp ecx, 0x100
jne 0x45be6c
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x45be6c
sub ebp, ebx
add edx, ebx
push ebp
add ebx, edi
push edx
push ebx
call fcn.00536cd0
add esp, 0xc
jmp 0x45be8a
cmp ebp, ebx
jle 0x45be8a
mov eax, dword [ebx*4 + 0x56e108]
xor ecx, ecx
mov al, byte [eax + edx]
mov cl, al
cmp ecx, esi
je 0x45be85
mov byte [edi + ebx], al
inc ebx
cmp ebp, ebx
jg 0x45be70
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
add edi, eax
mov edx, dword [esp + 0x14]
add edx, ecx
mov ebx, dword [esp + 0x24]
inc ebx
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], ebx
cmp ebp, ebx
jg 0x45bdcc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x2c
ret
mov eax, dword [esp + 0x28]
xor edx, edx
imul eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
shl eax, 8
cmp ecx, edx
mov dword [esp + 0x14], eax
jle 0x45bf6c
mov eax, dword [esp + 0x18]
cmp eax, 1
jne 0x45bf04
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x60]
sar ebx, 8
mov ecx, dword [esp + 0x68]
imul ebx, dword [esp + 0x1c]
add ebx, eax
add ebx, ecx
jmp 0x45bf23
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
sar eax, 8
mov ecx, dword [esp + 0x60]
sub ebx, eax
mov ebp, dword [esp + 0x68]
dec ebx
imul ebx, dword [esp + 0x1c]
add ebx, ecx
add ebx, ebp
xor ebp, ebp
mov eax, dword [esp + 0x54]
cmp eax, ebp
jle 0x45bf4b
mov eax, dword [ebp*4 + 0x56e108]
xor ecx, ecx
mov al, byte [eax + ebx]
mov cl, al
cmp ecx, esi
je 0x45bf42
mov byte [edi + ebp], al
inc ebp
mov eax, dword [esp + 0x54]
cmp eax, ebp
jg 0x45bf2d
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
add edi, eax
mov ebx, dword [esp + 0x14]
add ebx, ecx
inc edx
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x14], ebx
cmp ebp, edx
jg 0x45bee1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x2c
ret