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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebx + 0xec]
push edi
mov edi, eax
test esi, esi
je 0x5c13f0
test dword [ebx + 8], 0x1000
je 0x5f284c
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebx + 0x24]
mov dl, byte [edi]
mov edi, dword [ebx]
mov esi, dword [eax + 0x3c]
mov eax, dword [edi + 0x1f8]
mov dword [ebp - 4], ecx
test ecx, ecx
mov ecx, dword [ebx + 0x114]
mov byte [ebp + 0xb], dl
jne 0x642434
inc dword [eax + 0x320]
mov edx, dword [eax + 0x320]
mov eax, dword [edi + 0x58c]
mov dword [ebp - 0xc], eax
lea eax, [esi*4]
mov dword [ebp - 4], ecx
lea ecx, [eax + 0x90]
mov dword [ebp - 8], edx
cmp ecx, eax
jb 0x6b0e6e
push ecx
lea ecx, [edi + 0x174]
call fcn.005b50da
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
push ecx
mov ecx, dword [ebp - 4]
push esi
push edx
mov edx, dword [ebp + 0xc]
push ecx
push edx
push edi
call fcn.005c0a4f
mov edi, dword [ebp + 0x14]
mov esi, eax
mov eax, dword [edi + 0x44]
mov cl, byte [esi + 0x7d]
shr eax, 2
and al, 1
shl al, 6
xor al, byte [esi + 0x7c]
and al, 0x40
xor byte [esi + 0x7c], al
mov eax, dword [edi + 0x44]
shr eax, 7
and al, 1
xor cl, al
and cl, 1
xor byte [esi + 0x7d], cl
test byte [edi + 0x44], 0x80
jne 0x6b0e76
mov edx, dword [ebx]
push esi
add edx, 0x65c
push edx
call fcn.005c471c
mov cl, byte [ebp + 0xb]
mov dword [ebp - 4], 0
test cl, cl
jne 0x655a30
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x5c14d5
mov edx, dword [ecx + 8]
test edx, edx
jne 0x6b0e96
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 4]
sub edx, ecx
cmp edx, 0x18
jb 0x61ca1d
lea edx, [ecx + 0x18]
mov dword [eax + 0x1c], edx
mov eax, ecx
mov edx, eax
mov eax, dword [ebx + 4]
push edx
call fcn.005bcbc5
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x5c1541
add eax, 0x20
mov dword [ebp + 0x10], eax
je 0x5c1541
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x5c1511
sub eax, edx
sar eax, 1
lea edi, [eax + 1]
lea ecx, [edi + edi]
push ecx
mov ecx, dword [esi + 0x44]
call fcn.005b50da
mov edx, dword [ebp + 0x10]
push edx
push edi
push eax
mov dword [esi + 0x78], eax
call dword [0x100010f4]
add esp, 0xc
and byte [esi + 0x7d], 0xfb
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x5c155a
mov edi, dword [ecx + 0x28]
test edi, edi
jne 0x6b0ea0
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 4]
sub edx, ecx
cmp edx, 0x58
jb 0x5ebffb
lea edx, [ecx + 0x58]
mov dword [eax + 0x1c], edx
mov eax, ecx
mov edi, eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 4]
push esi
push eax
mov eax, dword [ebp + 0xc]
push ecx
push edx
push eax
call fcn.005bec89
mov ecx, dword [ebp + 0x14]
test byte [ecx + 0x44], 0x20
mov edi, dword [ebp + 8]
mov dword [ebp + 0xc], eax
jne 0x60d89f
mov edx, dword [ebp + 0x14]
test byte [edx + 0x44], 8
jne 0x5ff413
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x1f8]
mov ecx, dword [edx + 0xbe0]
cmp byte [ecx + 0x18], 0
jne 0x5ff413
mov esi, dword [ebx + 0x14]
mov eax, dword [esi + 4]
lea edx, [ebp + 0xc]
push edx
call fcn.005b52ed
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 0x1c]
mov dword [eax], ecx
mov dword [ebx + 0x1c], eax
test byte [eax + 0x14], 1
jne 0x5ff420
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
test ecx, ecx
jne 0x655ab4
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + 0x48]
cmp ecx, dword [ebx + 0xf0]
jg 0x5c160c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [ebx + 0xf0], ecx
jmp 0x5c1603
push 0x58
call fcn.005b5b24
jmp 0x5c1573
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
je 0x5c13f0
cmp dword [ecx], 0x4e
jne 0x5c13f0
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x44]
mov eax, dword [ebp + 0x14]
cmp dword [ecx + 0x28], eax
jne 0x5c13f3
movzx edx, byte [esi + 0x7c]
shr edx, 6
and edx, 1
jne 0x5f2d20
and dword [eax + 0x44], 0xfffffffb
mov ecx, dword [ebx]
cmp dword [ecx + 0x480], 3
jge 0x5f2d29
mov eax, dword [esi + 0x74]
mov byte [ebp + 0xb], 0
mov cl, byte [ebp + 0xb]
mov byte [edi], cl
mov dword [ebx + 0x24], eax
jmp 0x5c14b1
or dword [eax + 0x44], 4
jmp 0x5f2890
test byte [esi + 0x7c], 0x40
jne 0x5f289f
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x5f289f
jmp 0x6b0e4e
or dword [eax + 0x30], 1
or byte [edi + 0x14], 1
jmp 0x5c15c3
inc dword [ebx + 0xf8]
jmp 0x5c15e7
mov ecx, edi
test edi, edi
je 0x60d8b8
mov esi, 0x4000
mov edi, edi
mov edx, dword [ecx + 8]
or dword [edx + 0x30], esi
mov ecx, dword [ecx]
test ecx, ecx
jne 0x60d8ac
test dword [ebx + 8], 0x800
je 0x5c159e
jmp 0x6b0eaa
push 0x18
call fcn.005b5b24
jmp 0x5c14ee
inc dword [eax + 0x320]
mov edx, dword [eax + 0x320]
lea eax, [esi*4]
mov dword [ebp - 0xc], ecx
lea ecx, [eax + 0x90]
mov dword [ebp - 8], edx
cmp ecx, eax
jb 0x6b0e66
push ecx
lea ecx, [edi + 0x174]
call fcn.005b50da
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
push ecx
mov ecx, dword [ebp - 0xc]
jmp 0x5c145d
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x655a45
mov edx, dword [ecx + 8]
test edx, edx
jne 0x6b0e81
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 4]
sub edx, ecx
cmp edx, 0x18
jb 0x655abf
lea edx, [ecx + 0x18]
mov dword [eax + 0x1c], edx
mov eax, ecx
mov edx, eax
mov eax, dword [ebx + 4]
push edx
call fcn.005bcbc5
mov ecx, dword [ebx + 0x1c]
mov dword [eax], ecx
mov dword [ebx + 0x1c], eax
test byte [eax + 0x14], 1
mov dword [ebp - 4], eax
jne 0x6b0e8b
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xc]
push 0
push edx
push eax
mov eax, dword [ebp + 0x10]
push ebx
call fcn.005c1b8f
mov edi, eax
or byte [edi + 0x1c], 0x10
mov eax, dword [edi]
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0x1f8]
push eax
call fcn.005b9675
mov dword [edi + 0x10], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x1c]
mov dword [ecx + 0x1c], edi
jmp 0x5c14c0
mov dword [ecx + 8], eax
mov dword [eax + 0x40], ecx
jmp 0x5c15f5
push 0x18
call fcn.005b5b24
jmp 0x655a5a