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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10063a1a
push eax
mov dword fs:[0], esp
sub esp, 0x88
push ebx
xor ebx, ebx
push esi
inc ebx
mov esi, ecx
cmp byte [ebp + 0x14], 0
push edi
je 0x10005d11
push ecx
mov dword [esp + 0x10], 0xfffffffe
mov cl, bl
call fcn.10006e7e
pop ecx
mov dword [esp + 0xc], 0
jmp 0x100059de
push 0x6694
push 0x6d32
push 0x6e5c
push 0x32af
lea eax, [esp + 0x27]
mov byte [esp + 0x27], 0
push eax
push ebx
push 0x11ea
push 0x7d20
push 0x6f2e
push 0x867
mov ecx, 0x6375
call fcn.100056ff
add esp, 0x28
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffea
je 0x1000599a
push 0x7c
pop eax
push 2
mov word [esp + 0x1c], 0x5500
xor ecx, ecx
mov byte [esp + 0x1e], bl
mov byte [esp + 0x1f], 0xe0
mov word [esp + 0x20], ax
pop esi
cmp esi, 2
jne 0x10005a0d
push esi
pop ecx
xor edi, edi
jmp 0x10005a38
movzx edx, byte [esp + esi + 0x19]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x16]
movzx ecx, word [esp + eax*2 + 0x1c]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [esp + esi + 0x18]
add ecx, edx
xor edi, edi
mov word [esp + eax*2 + 0x1c], cx
mov ecx, edi
add esi, 2
cmp esi, 4
jb 0x10005a02
xor eax, eax
mov word [esp + 0x1e], ax
push 0xd
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], 0xfffffffb
pop esi
jmp 0x10005a9a
push 0xaf9
push ecx
push 0x7f6
push ebx
push ecx
push 0x385a
push ecx
push 0x6093
push 0x1f57
push 0xebc
mov edx, 0x2776
mov ecx, 0x5e03
call fcn.10007199
add esp, 0x1c
mov dl, bl
call fcn.100066ec
add esp, 0xc
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jne 0x10005a58
xor eax, eax
mov dword [esp + 0x74], 7
mov word [esp + 0x60], ax
lea ecx, [esp + 0x60]
lea eax, [esp + 0x1c]
mov dword [esp + 0x70], edi
push eax
call fcn.10008a0e
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x58]
mov dword [esp + 0xa0], edi
call fcn.10004c73
pop ecx
push edi
push ebx
lea ecx, [esp + 0x68]
mov byte [esp + 0xa4], 2
call fcn.10008b6b
push 3
mov dword [esp + 0x14], ebx
pop ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0xc], edi
jmp 0x10005b0e
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x3c], 0xfffffffc
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x10005afe
mov dword [esp + 0x10], 2
cmp dword [esp + 0x10], edi
jl 0x10005b8b
mov dword [esp + 0xc], 0x34859bb
xor ecx, ecx
mov dword [esp + 0x38], 0x53526c71
mov dword [esp + 0x30], 0xb3a0
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
cmp eax, ebx
setge cl
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x3c]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x3c], ecx
dec dword [esp + 0x10]
jns 0x10005b22
lea eax, [esp + 0x10]
mov dl, bl
push eax
push 0x7ab7
push 0x7cec
push 0x1b45
push edi
push ebx
lea ecx, [esp + 0x48]
call fcn.10006b50
and dword [esp + 0x34], 0
add esp, 0x18
xor ecx, ecx
mov word [esp + 0x4a], si
mov byte [esp + 0x20], bl
mov word [esp + 0x21], 0x22d
push 2
mov byte [esp + 0x27], 7
mov byte [esp + 0x28], bl
mov dword [esp + 0x29], 0x2a0337
mov byte [esp + 0x2d], 0x29
pop esi
mov dword [esp + 0x34], ecx
cmp esi, 4
jne 0x10005bf1
push 2
pop ecx
mov dword [esp + 0x34], ecx
jmp 0x10005c27
movzx edx, byte [esp + esi + 0x21]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x1e]
movzx eax, word [esp + eax*2 + 0x48]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [esp + esi + 0x20]
mov word [esp + eax*2 + 0x48], cx
lea eax, [esp + 0x34]
push eax
mov cl, bl
call fcn.10004e4d
pop ecx
mov ecx, dword [esp + 0x34]
add esi, 2
cmp esi, 0xa
jb 0x10005be3
xor eax, eax
mov dword [esp + 0x8c], 7
and dword [esp + 0x88], eax
lea ecx, [esp + 0x78]
mov word [esp + 0x50], ax
mov word [esp + 0x78], ax
lea eax, [esp + 0x48]
push eax
call fcn.10008a0e
xor eax, eax
mov byte [esp + 0x9c], 3
lea edi, [esp + 0x48]
and dword [esp + 0x2c], 0
stosd dword es:[edi], eax
push 0x18
pop ecx
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esp + 0x58]
sub eax, dword [esp + 0x54]
cdq
idiv ecx
mov esi, eax
test esi, esi
je 0x10005cea
push ebx
push ebx
push 0xd3
push 0x7f3e
push 0x31b1
push ebx
push 0x4b82
push 0x52e4
push 0x104a
push 0x6455
lea eax, [esp + 0xa0]
mov edx, 0x9df
push eax
lea eax, [esp + 0x80]
mov ecx, 0x2953
push eax
lea eax, [esp + 0x5c]
push eax
push 0x67d0
push 0x3917
call fcn.10004eaf
mov eax, dword [esp + 0x68]
add esp, 0x3c
inc eax
mov dword [esp + 0x2c], eax
cmp eax, esi
jb 0x10005c86
mov ecx, dword [ebp + 0x10]
lea eax, [esp + 0x54]
push eax
call fcn.100084d3
push 0
push ebx
lea ecx, [esp + 0x80]
call fcn.10008b6b
lea ecx, [esp + 0x54]
call fcn.10008c9d
jmp 0x10005d2d
mov edx, dword [ebp + 0x18]
mov dword [edx], 0
jmp 0x10005d29
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0x9ffbdd2a
inc dword [edx]
cmp dword [edx], ebx
jl 0x10005d1c
mov ecx, dword [esp + 0x94]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret