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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100628ce
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x80
cmp byte [ebp + 0xc], 0
push ebx
push esi
push edi
mov byte [esp + 0x14], cl
je 0x10005727
cmp byte [ebp + 0x20], 0
je 0x10005488
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xffffffe6
cmp dword [eax], 0xfffffff4
jge 0x1000577b
xor edi, edi
inc edi
xor ebx, ebx
mov dword [esp + 0x1c], edi
cmp dword [esp + 0x1c], ebx
jne 0x1000577b
inc dword [eax]
cmp dword [eax], 0xfffffff4
jl 0x1000546e
jmp 0x1000577b
mov dword [esp + 0x20], edx
lea ecx, [esp + 0x5c]
mov eax, dword [edx]
mov dword [esp + 0x24], eax
mov eax, 0x3556
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x18], 0x6de713a4
mov dword [esp + 0x1c], 0xffffffff
push 3
call fcn.10001647
push ecx
lea eax, [esp + 0x60]
xor ebx, ebx
push eax
lea eax, [esp + 0x58]
mov dword [esp + 0x9c], ebx
push eax
call fcn.100062d1
add esp, 8
mov byte [esp + 0x16], bl
lea edx, [esp + 0x16]
xor cl, cl
call fcn.10004722
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], 3
pop ecx
jg 0x1000555a
mov esi, dword [esp + 0x5c]
cmp dword [esp + 0x18], ebx
jne 0x1000550b
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x68]
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov edx, 0x693009c
mov eax, dword [esp + eax*4 + 0x68]
add eax, dword [esp + 0x1c]
add eax, dword [esp + 0x1c]
cmp eax, 0x7631615e
setg cl
xor eax, eax
neg ecx
cmp ecx, 0x61fb
setne al
xor ecx, ecx
sub edx, eax
sub edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x68]
cmp eax, edx
sete cl
mov dword [esi + 4], ecx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jle 0x100054fd
or dword [esp + 0x94], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.100016a4
push 0x569a
push 0x233f
lea eax, [esp + 0x28]
mov cl, 1
push eax
push 0x15c0
push ebx
push 0xb0f
lea edx, [esp + 0x3c]
call fcn.10004d29
lea eax, [esp + 0x40]
mov dword [esp + 0x58], 0x90a624cd
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0x54], ebx
push eax
lea eax, [esp + 0x50]
mov dword [esp + 0x48], 0x7a1245c8
push eax
lea eax, [esp + 0x58]
mov dword [esp + 0x6c], 0xfffffff7
push eax
push ebx
lea eax, [esp + 0x64]
mov dword [esp + 0x68], 0xc383c67e
push eax
mov dword [esp + 0x64], 0xaa32f3f6
lea eax, [esp + 0x6c]
push eax
mov dword [esp + 0x80], 7
lea eax, [esp + 0x74]
xor edi, edi
mov dword [esp + 0x60], 0xffffffff
inc edi
lea edx, [esp + 0x78]
push 0x4245
mov dword [esp + 0x7c], edi
lea ecx, [esp + 0x80]
push eax
mov dword [esp + 0x6c], 0x839e071a
call fcn.10005fe0
add esp, 0x3c
mov esi, dword [esp + 0x20]
mov dl, 0xc8
mov cl, byte [ebx + esi]
call fcn.1000f03b
mov byte [ebx + esi], al
inc ebx
cmp ebx, 4
jb 0x1000561a
mov dword [esp + 0x1c], edi
xor ebx, ebx
mov dword [esp + 0x18], 0xd9e2
mov dword [esp + 0x4c], 0xfffffff7
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x4c], 0xf2c9a130
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x4c], 0x7ea4c570
mov eax, dword [esp + 0x18]
mov eax, edi
cmp dword [esp + 0x1c], ebx
jne 0x1000566d
mov eax, ebx
imul edx, eax, 0xfffc0004
sub edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add eax, 0xe126
cmp eax, edx
setge cl
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x18], 0x16
cmp dword [esp + 0x18], 0xffffffea
je 0x1000571c
push 9
pop esi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x4c], 0xf3f6085e
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x1c], ebx
jmp 0x100056e2
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x54], 0xfff839e0
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jl 0x100056d2
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x1000570d
push ecx
push 0x47fa
sub esp, 0x10
push ebx
push ecx
push ecx
push 0x1807
push ecx
call fcn.10003231
add esp, 0x2c
inc dword [esp + 0x7c]
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffea
jne 0x100056a2
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0x24]
mov dword [ecx], eax
jmp 0x1000577b
test cl, cl
je 0x1000576e
mov eax, dword [ebp + 0x1c]
xor ebx, ebx
push 6
mov eax, dword [eax]
mov edx, dword [eax]
test edx, edx
setne bl
xor eax, eax
cmp edx, 0x7642
setne al
xor ecx, ecx
cmp edx, eax
pop eax
setg cl
add ecx, edx
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0xffff
mov eax, dword [ebp + 0x18]
setne cl
xor edx, edx
cmp ebx, ecx
setle dl
mov dword [eax], edx
jmp 0x1000577b
mov eax, dword [ebp + 8]
cmp byte [eax], 0
je 0x1000577b
call fcn.10005b3f
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret