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

Disassembly:
sub esp, 0x90
mov eax, dword [0x4b0650]
xor eax, esp
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x94]
push ebx
push ebp
push esi
xor ebp, ebp
mov ebx, edx
push edi
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebp
cmp ebx, ebp
je 0x45de4f
cmp byte [ebx], 0
je 0x45de4f
xor esi, esi
jmp 0x45de54
mov esi, 1
mov dword [esp + 0x24], esi
cmp ebx, ebp
je 0x45de8c
mov ecx, str.:memory:
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x45de83
test dl, dl
je 0x45de7f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x45de83
add eax, 2
add ecx, 2
test dl, dl
jne 0x45de63
xor eax, eax
jmp 0x45de88
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x45de9b
cmp esi, ebp
je 0x45dea2
mov ecx, edi
call fcn.00436fb0
test eax, eax
je 0x45dea2
mov esi, 1
jmp 0x45dea4
xor esi, esi
test dword [edi + 0xc], 0x20000
mov dword [esp + 0x2c], esi
je 0x45deb9
or dword [esp + 0xac], 2
cmp esi, ebp
je 0x45dec5
or dword [esp + 0xac], 4
mov eax, dword [esp + 0xb0]
test eax, 0x100
je 0x45deee
cmp esi, ebp
jne 0x45dedd
cmp dword [esp + 0x24], ebp
je 0x45deee
and eax, 0xfffffeff
or eax, 0x200
mov dword [esp + 0xb0], eax
mov edi, 0x2c
call fcn.00437840
mov dword [esp + 0x10], eax
cmp eax, ebp
je 0x45df5f
mov edx, dword [esp + 0x1c]
mov byte [eax + 8], 0
mov dword [eax], edx
mov dword [eax + 0x1c], eax
mov dword [eax + 0x20], 1
cmp esi, ebp
jne 0x45e03f
cmp dword [esp + 0x24], ebp
jne 0x45e03f
test dword [esp + 0xb0], 0x20000
je 0x45e03f
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 8]
inc edi
push edi
call fcn.00437500
mov ebp, eax
mov eax, dword [esp + 0x14]
add esp, 4
mov byte [eax + 9], 1
test ebp, ebp
jne 0x45df69
push eax
call fcn.0042d800
add esp, 4
mov eax, 7
jmp 0x45e30f
mov ecx, dword [esp + 0x20]
push edi
mov eax, ebp
mov edx, ebx
call fcn.0042d350
push 4
call fcn.0042d4f0
push eax
mov dword [esp + 0x34], eax
call fcn.0042d530
push 2
call fcn.0042d4f0
mov ebx, eax
push ebx
call fcn.0042d530
mov eax, dword [0x4b3124]
add esp, 0x14
mov esi, eax
test eax, eax
je 0x45e024
mov edi, dword [esi]
mov eax, edi
call fcn.00430f40
mov ecx, ebp
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x45dfd0
test dl, dl
je 0x45dfcc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x45dfd0
add ecx, 2
add eax, 2
test dl, dl
jne 0x45dfb0
xor eax, eax
jmp 0x45dfd5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45dfe6
mov eax, edi
call fcn.00430f50
cmp eax, dword [esp + 0x20]
je 0x45dfef
mov esi, dword [esi + 0x48]
test esi, esi
jne 0x45dfa5
jmp 0x45e024
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
sub eax, 1
js 0x45e01a
mov ecx, dword [ecx + 8]
mov edx, eax
shl edx, 4
lea ecx, [ecx + edx + 4]
mov edx, dword [ecx]
test edx, edx
je 0x45e012
cmp dword [edx + 4], esi
je 0x45e089
dec eax
sub ecx, 0x10
test eax, eax
jge 0x45e007
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], esi
inc dword [esi + 0x44]
push ebx
call fcn.0042d570
push ebp
call fcn.0042d800
add esp, 8
test esi, esi
jne 0x45e23e
mov ebx, dword [esp + 0x34]
mov edi, 0x5c
call fcn.00437840
mov ebp, eax
test ebp, ebp
jne 0x45e0b6
mov dword [esp + 0x18], 7
test ebp, ebp
je 0x45e067
mov edi, dword [ebp]
test edi, edi
je 0x45e067
call fcn.0045db60
push ebp
call fcn.0042d800
mov eax, dword [esp + 0x14]
push eax
call fcn.0042d800
mov ecx, dword [esp + 0x38]
add esp, 8
mov dword [ecx], 0
jmp 0x45e2fa
push ebx
call fcn.0042d570
mov edx, dword [esp + 0x2c]
push edx
call fcn.0042d570
push ebp
call fcn.0042d800
mov eax, dword [esp + 0x1c]
push eax
call fcn.0042d800
add esp, 0x10
mov eax, 0x13
jmp 0x45e30f
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x20]
push 0x4463a0
push edx
push 0x4c
push ebx
mov ebx, dword [esp + 0xbc]
push ebp
mov edx, ebx
call fcn.0045a2c0
add esp, 0x14
mov dword [esp + 0x18], eax
test eax, eax
jne 0x45e057
mov eax, dword [ebp]
push eax
lea esi, [esp + 0x3c]
mov edi, 0x64
call fcn.00430d10
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x45e057
mov ecx, dword [esp + 0x1c]
mov eax, dword [ebp]
mov dword [ebp + 4], ecx
mov edx, ebp
mov ecx, fcn.004399d0
mov byte [ebp + 0x14], bl
call fcn.00430cd0
mov edx, dword [esp + 0x10]
mov dword [edx + 4], ebp
mov ebx, dword [ebp]
xor ecx, ecx
mov eax, ebx
mov dword [ebp + 8], ecx
mov dword [ebp + 0xc], ecx
call fcn.00430e90
mov byte [ebp + 0x10], al
movzx eax, byte [esp + 0x49]
movzx edx, byte [esp + 0x48]
shl eax, 8
or eax, edx
shl eax, 8
lea edi, [ebp + 0x24]
mov dword [edi], eax
cmp eax, 0x200
jb 0x45e19f
cmp eax, 0x10000
ja 0x45e19f
lea edx, [eax - 1]
test eax, edx
jne 0x45e19f
movzx eax, byte [esp + 0x4c]
lea ecx, [esp + 0x6c]
mov byte [esp + 0x17], al
mov byte [ebp + 0x11], 1
call fcn.0042e790
test eax, eax
setne cl
mov byte [ebp + 0x15], cl
lea ecx, [esp + 0x78]
call fcn.0042e790
test eax, eax
mov al, byte [esp + 0x17]
setne dl
mov byte [ebp + 0x16], dl
jmp 0x45e1b5
mov dword [edi], ecx
cmp dword [esp + 0x34], ecx
je 0x45e1b3
cmp dword [esp + 0x2c], ecx
jne 0x45e1b3
mov byte [ebp + 0x15], cl
mov byte [ebp + 0x16], cl
xor al, al
movzx esi, al
push esi
push edi
push ebx
call fcn.00438a00
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x45e057
mov eax, dword [edi]
mov ecx, dword [esp + 0x10]
sub eax, esi
mov dword [ebp + 0x28], eax
cmp byte [ecx + 9], 0
je 0x45e23e
push 2
mov dword [ebp + 0x44], 1
call fcn.0042d4f0
add esp, 4
cmp dword [0x4afb8c], 0
mov esi, eax
je 0x45e221
push 0
call fcn.0042d4f0
add esp, 4
mov dword [ebp + 0x3c], eax
test eax, eax
jne 0x45e221
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x18], 7
mov byte [edx + 0x1e], al
jmp 0x45e057
push esi
call fcn.0042d530
mov eax, dword [0x4b3124]
push esi
mov dword [ebp + 0x48], eax
mov dword [0x4b3124], ebp
call fcn.0042d570
add esp, 8
mov edi, dword [esp + 0x10]
cmp byte [edi + 9], 0
je 0x45e2d3
mov esi, dword [esp + 0x1c]
xor edx, edx
cmp dword [esi + 4], edx
jle 0x45e2d3
mov ecx, dword [esi + 8]
add ecx, 4
lea ecx, [ecx]
mov eax, dword [ecx]
test eax, eax
je 0x45e26c
cmp byte [eax + 9], 0
jne 0x45e27d
inc edx
add ecx, 0x10
cmp edx, dword [esi + 4]
jl 0x45e260
mov edx, dword [esp + 0x30]
mov dword [edx], edi
jmp 0x45e2d9
cmp dword [eax + 0x18], 0
je 0x45e28c
mov eax, dword [eax + 0x18]
cmp dword [eax + 0x18], 0
jne 0x45e283
mov edx, dword [edi + 4]
cmp edx, dword [eax + 4]
jae 0x45e2a9
mov edx, dword [esp + 0x30]
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], 0
mov dword [eax + 0x18], edi
mov dword [edx], edi
jmp 0x45e2d9
cmp dword [eax + 0x14], 0
je 0x45e2c0
nop
mov ecx, dword [eax + 0x14]
cmp dword [ecx + 4], edx
jae 0x45e2c0
mov eax, ecx
cmp dword [eax + 0x14], 0
jne 0x45e2b0
mov ecx, dword [eax + 0x14]
mov dword [edi + 0x14], ecx
mov dword [edi + 0x18], eax
test ecx, ecx
je 0x45e2d0
mov dword [ecx + 0x18], edi
mov dword [eax + 0x14], edi
mov edx, dword [esp + 0x30]
mov dword [edx], edi
push 0
push 0
mov ebx, edi
call fcn.0043ff50
add esp, 8
test eax, eax
jne 0x45e2fa
mov edx, dword [ebx + 4]
mov eax, dword [edx]
mov ecx, 0x7d0
call fcn.00430c30
mov eax, dword [esp + 0x28]
test eax, eax
je 0x45e30b
push eax
call fcn.0042d570
add esp, 4
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00477bf8
add esp, 0x90
ret