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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x70
mov esi, ecx
mov eax, dword [esp + 0x84]
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0xc], 0x100000
mov dword [esp], 0
lea eax, [esp + 0xc]
mov ecx, esp
push 4
push 0x3000
push eax
push 0
push ecx
push 0xffffffffffffffff
call dword [0x482d10]
test eax, eax
js 0x45e3f8
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov ebx, 0x10000
xor edi, edi
mov dword [esp + 0x20], esi
jmp 0x45e064
mov esi, dword [esp + 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp + 0x54]
add ebx, dword [esp + 0x48]
cmp ebx, 0x7fffffff
jae 0x45e3e1
push 0
push 0x1c
lea eax, [esp + 0x50]
push eax
push 0
push ebx
push dword [esi]
push 0x6d705e18
call fcn.0045dd60
add esp, 0x1c
cmp eax, 0xbfffffff
ja 0x45e3e1
mov dword [esp + 0x18], ebx
test eax, eax
js 0x45e050
cmp dword [esp + 0x58], 0x1000
jne 0x45e050
cmp dword [esp + 0x5c], 1
je 0x45e050
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x54], eax
jbe 0x45e0f6
push 0x8000
lea eax, [esp + 0x30]
push eax
lea ebx, [esp + 8]
push ebx
push 0xffffffffffffffff
call dword [0x482d14]
mov dword [esp], 0
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
push 4
push 0x3000
lea eax, [esp + 0x14]
push eax
push 0
push ebx
push 0xffffffffffffffff
call dword [0x482d10]
test eax, eax
js 0x45e3e1
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x44]
push ecx
push eax
push dword [esp + 8]
push dword [esp + 0x24]
push dword [esi]
push 0xb7fd7148
call fcn.0045db40
add esp, 0x18
cmp eax, 0xbfffffff
ja 0x45e050
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [esp + 0x90]
push dword [esp + 0x50]
push dword [esp + 0x10]
lea eax, [esp + 0x78]
push eax
call fcn.0045e410
add esp, 0x18
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x28], ecx
cmp eax, ecx
je 0x45e050
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx]
mov ecx, dword [ecx + 8]
mov dword [esp + 4], ecx
mov dword [esp + 0x30], eax
mov ecx, eax
jmp 0x45e1a3
mov eax, dword [esp + 8]
mov dword [eax + ebx*4], edx
mov edx, eax
add edi, 4
mov eax, dword [esp + 0x84]
mov dword [eax + 4], edi
add ecx, 4
cmp ecx, dword [esp + 0x28]
je 0x45e3ae
mov ebp, edi
mov edi, edx
mov ebx, edx
not ebx
mov esi, ebx
and esi, ebp
mov eax, ebp
not eax
and eax, edx
sub esi, eax
mov edx, dword [ecx]
sub edx, dword [esp]
sar esi, 2
cmp ebp, dword [esp + 4]
mov dword [esp + 0x1c], edi
je 0x45e1e0
mov ebx, ebp
sub ebx, edi
sar ebx, 2
mov dword [esp + 8], edi
mov edi, ebp
mov eax, dword [esp + 0x18]
jmp 0x45e36c
mov dword [esp + 0x10], ebx
mov dword [esp + 0x3c], esi
lea eax, [esi + 1]
mov dword [esp + 0x24], ebp
sub ebp, edi
mov esi, ebp
sar esi, 2
mov ebx, esi
shr ebx, 1
mov dword [esp + 0x38], esi
add ebx, esi
cmp ebx, eax
ja 0x45e206
mov ebx, eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x14], ecx
mov eax, 0xffffffff
cmp ebx, 0x40000000
jae 0x45e222
lea eax, [ebx*4]
mov ecx, dword fs:[0x30]
push eax
push 0
push dword [ecx + 0x18]
call dword [0x483438]
test edi, edi
mov dword [esp + 8], eax
je 0x45e33e
cmp eax, edi
mov dword [esp + 0x34], ebx
jae 0x45e25a
mov edx, edi
mov edi, eax
mov ecx, ebp
xchg esi, edx
rep movsb byte es:[edi], byte [esi]
xchg esi, edx
jmp 0x45e320
test ebp, ebp
je 0x45e320
lea ebx, [ebp - 0x6d007794]
mov edi, dword [esp + 0x1c]
lea esi, [edi + ebx]
add esi, 0x6d007793
mov eax, dword [esp + 8]
lea ecx, [eax + ebx]
add ecx, 0x6d007793
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
add edx, eax
and ebx, 3
mov dword [esp + 4], ebx
je 0x45e2d8
mov dword [esp + 0x10], edx
lea edx, [eax + eax]
not edx
lea edx, [edx + edi*2]
neg dword [esp + 4]
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, ebp
movzx eax, byte [esi + edi]
mov byte [ecx + edi], al
mov eax, ebp
not eax
lea ebp, [eax + ebp*2]
add edx, 2
dec edi
cmp dword [esp + 4], edi
jne 0x45e2b0
add ebx, edx
neg ebx
add esi, edi
add ecx, edi
mov ebp, ebx
mov edx, dword [esp + 0x10]
cmp edx, 3
jb 0x45e320
mov edx, ebp
not edx
lea edi, [ebp - 6]
add edi, ebp
xor ebx, ebx
nop
nop
nop
nop
movzx eax, byte [esi + ebx]
mov byte [ecx + ebx], al
movzx eax, byte [esi + ebx - 1]
mov byte [ecx + ebx - 1], al
movzx eax, byte [esi + ebx - 2]
mov byte [ecx + ebx - 2], al
movzx eax, byte [esi + ebx - 3]
mov byte [ecx + ebx - 3], al
add edx, 4
add edi, 0xfffffff8
add ebx, 0xfffffffc
cmp edx, 0xffffffff
jne 0x45e2f0
mov eax, dword fs:[0x30]
mov edi, dword [esp + 0x1c]
push edi
push 0
push dword [eax + 0x18]
call dword [0x483440]
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x84]
mov dword [ecx], eax
mov esi, dword [esp + 0x3c]
lea edi, [eax + esi*4]
lea eax, [eax + ebx*4]
mov dword [esp + 4], eax
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x24]
add edx, eax
cmp ebx, esi
jae 0x45e180
mov eax, dword [esp + 0x1c]
lea eax, [eax + esi*4]
sub eax, ebp
je 0x45e180
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 8]
lea esi, [ecx + ebx*4]
mov ebp, edx
lea edx, [ecx + ebx*4]
add edx, 4
push eax
push esi
push edx
call fcn.0041e450
mov edx, ebp
mov ecx, dword [esp + 0x20]
add esp, 0xc
jmp 0x45e180
mov eax, dword [esp + 0x30]
test eax, eax
je 0x45e041
cmp eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
je 0x45e050
mov ecx, eax
mov eax, dword fs:[0x30]
push ecx
push 0
push dword [eax + 0x18]
call dword [0x483440]
jmp 0x45e050
push 0x8000
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 8]
push eax
push 0xffffffffffffffff
call dword [0x482d14]
mov eax, dword [esp + 0x84]
add esp, 0x70
pop esi
pop edi
pop ebx
pop ebp
ret 0x10