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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x30], ebx
mov edi, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov ebx, dword [ebp + 8]
xor eax, eax
push ebp
push 0x54602d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x48]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov dword [eax + 0x3c], edx
mov dword [eax + 0x38], 0x547850
xor edx, edx
push ebp
push 0x545fd1
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe8]
mov eax, dword [eax + 0x10]
call fcn.0042063c
mov edx, dword [ebp - 0x30]
mov ecx, 1
mov eax, 0x54604c
call fcn.0040b58c
test eax, eax
jle 0x545dbc
mov ecx, ebx
mov dl, 1
mov eax, dword [0x53feb4]
call fcn.00540228
mov dword [ebp - 0x28], eax
mov esi, dword [ebp - 0x28]
jmp 0x545dbe
mov esi, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xe8]
mov ebx, dword [eax + 0x34]
mov eax, 0x546064
cmp eax, ebx
jne 0x545dd7
mov al, 1
jmp 0x545dfd
mov eax, 0x546064
test eax, eax
je 0x545de4
test ebx, ebx
jne 0x545de8
xor eax, eax
jmp 0x545dfd
mov dword [ebp - 0x34], ebx
mov edx, dword [ebp - 0x34]
mov eax, 0x546064
call fcn.0042078c
test eax, eax
sete al
test al, al
je 0x545eba
mov ecx, esi
mov dl, 1
mov eax, dword [0x50e148]
call fcn.0050e73c
mov dword [ebp - 0x24], eax
xor eax, eax
push ebp
push 0x545eb3
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp + 0x10], 0
jne 0x545e32
cmp dword [ebp + 0xc], 0
jbe 0x545e44
jmp 0x545e34
jle 0x545e44
push dword [ebp + 0x10]
push dword [ebp + 0xc]
mov edx, edi
mov eax, dword [ebp - 0x24]
call fcn.004b3738
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0xffffffffffffffff
push 0xffffffffffffffff
mov eax, dword [ebp - 4]
call fcn.00547804
mov eax, dword [ebp - 4]
call fcn.0050aaac
test al, al
je 0x545e78
jmp 0x545e6f
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x10]
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x14], 0
je 0x545e64
mov eax, dword [ebp - 4]
cmp byte [eax + 0xf8], 0
jne 0x545e9d
mov eax, dword [ebp - 0x2c]
push dword [eax + 0x24]
push dword [eax + 0x20]
push 0xffffffffffffffff
push 0xffffffffffffffff
mov eax, dword [ebp - 4]
mov si, 0xffe6
call fcn.00408954
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x545fb0
mov eax, dword [ebp - 0x24]
call fcn.0040858c
ret
cmp dword [ebp + 0x10], 0
jne 0x545ec8
cmp dword [ebp + 0xc], 0
jbe 0x545ed9
jmp 0x545eca
jle 0x545ed9
push dword [ebp + 0x10]
push dword [ebp + 0xc]
mov edx, edi
mov eax, esi
call fcn.004b3738
mov eax, dword [ebp - 4]
call fcn.005461c4
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00547804
cmp dword [ebp - 0x14], 0
jne 0x545f15
cmp dword [ebp - 0x18], 0
jae 0x545f36
jmp 0x545f17
jge 0x545f36
mov eax, dword [ebp - 4]
call fcn.0050aaac
test al, al
je 0x545f8c
mov eax, dword [ebp - 0x2c]
mov byte [eax + 0x78], 1
mov edx, esi
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x10]
jmp 0x545f8c
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x20]
mov dword [ebp - 0x20], edx
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
sub eax, dword [ebp + 0xc]
sbb edx, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 4]
call fcn.0050aaac
test al, al
je 0x545f8c
jmp 0x545f6f
mov edx, esi
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x10]
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
sub eax, dword [ebp - 0x20]
sbb edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0x14]
jne 0x545f8a
cmp eax, dword [ebp - 0x18]
jb 0x545f65
jmp 0x545f8c
jl 0x545f65
mov eax, dword [ebp - 4]
cmp byte [eax + 0xf8], 0
jne 0x545fb0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov si, 0xffe6
call fcn.00408954
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x545fd8
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [eax + 0x38], edx
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x28]
call fcn.0040858c
ret