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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x248]
cmp eax, dword [ecx + 8]
jbe 0x5b6cc5
sub esp, 0x2c8
mov ecx, dword [esp + 0x2cc]
mov edx, dword [ecx + 0x14]
mov ebx, dword [esp + 0x2d4]
movzx ebp, byte [ebx + 0x295]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b6708
lea edi, [esp + 0x124]
xor eax, eax
call fcn.00461314
mov ecx, dword [ebx + 0x78]
mov esi, dword [ebx + 0x7c]
lea ebp, [0x605ea0]
cmp ecx, ebp
jne 0x5b6cae
lea edi, [esp + 0x124]
call fcn.00461608
mov ecx, dword [esp + 0x148]
jmp 0x5b6734
lea edi, [esp + 0x44]
xor eax, eax
call fcn.00461318
mov ecx, dword [ebx + 0x78]
mov esi, dword [ebx + 0x7c]
lea ebp, [0x606220]
cmp ecx, ebp
jne 0x5b6c98
lea edi, [esp + 0x44]
call fcn.00461630
mov ecx, dword [esp + 0x68]
cmp ecx, 0x200
jbe 0x5b6829
test ecx, 1
je 0x5b6823
mov ebp, dword [ebx + 0x274]
lea esi, [ebp + 1]
mov eax, edx
mov edx, dword [ebx + 0x270]
mov edi, ecx
mov ecx, dword [ebx + 0x278]
cmp ecx, esi
jae 0x5b67d1
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
lea eax, [0x5e4740]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.0044a7d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2d4]
mov dword [ebx + 0x278], edx
mov edx, dword [0x7e1c20]
test edx, edx
jne 0x5b67ba
mov dword [ebx + 0x270], eax
jmp 0x5b67c5
lea edi, [ebx + 0x270]
call fcn.004610d0
mov edi, dword [esp + 0x3c]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x40]
lea ecx, [ebp + 1]
mov dword [ebx + 0x274], ecx
mov ecx, dword [0x7b5fb8]
mov esi, dword [0x7b5fbc]
lea ebx, [edx + ebp*8 + 4]
mov dword [ebx], esi
mov ebx, dword [0x7e1c20]
lea edx, [edx + ebp*8]
test ebx, ebx
jne 0x5b6803
mov dword [edx], ecx
cmp edi, 0x200
jmp 0x5b6818
mov ebx, edi
mov edi, edx
mov ebp, eax
mov eax, ecx
call fcn.004610d0
cmp ebx, 0x200
mov eax, ebp
mov edx, eax
mov ebx, dword [esp + 0x2d4]
jmp 0x5b6829
cmp ecx, 0x200
jb 0x5b6831
shr edx, 9
shl edx, 9
mov eax, dword [ebx + 0x28c]
sub eax, edx
mov ecx, dword [esp + 0x2cc]
mov edx, dword [ecx + 0x10]
cmp edx, eax
jbe 0x5b684c
mov eax, dword [ecx + 8]
jmp 0x5b6855
mov eax, dword [ecx + 8]
cmp eax, edx
ja 0x5b6855
mov eax, edx
mov dword [esp + 0x24], eax
mov edx, dword [ecx + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.005a9190
mov eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x2d4]
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x5b6892
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x5b6bdb
xor edx, edx
test edx, edx
je 0x5b68b7
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x5b6ad4
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x5b6b03
xor edx, edx
test dl, dl
je 0x5b68dc
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x5b69e9
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x5b6a17
xor edx, edx
test dl, dl
je 0x5b68fa
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x5b6922
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x5b6943
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2d0]
cmp edx, eax
jb 0x5b6912
add eax, ecx
cmp edx, eax
setb al
jmp 0x5b6914
xor eax, eax
mov byte [esp + 0x2d8], al
add esp, 0x2c8
ret
xor ecx, ecx
sub ecx, eax
jmp 0x5b68fe
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x218]
mov esi, ebx
call fcn.004617f2
mov ecx, dword [esp + 0x2d4]
mov ecx, dword [ecx + 0xa4]
dec ecx
cmp ebp, ecx
je 0x5b69dd
mov dword [esp + 0x28], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x218]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.00402990
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5b69af
mov eax, dword [esp + 0x28]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x5b6928
mov eax, dword [esp + 0x20]
jmp 0x5b6922
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov edx, dword [edx + 0xa0]
mov ebx, dword [esp + 0x28]
lea eax, [ebx + 1]
cmp ecx, eax
jbe 0x5b69e4
imul ebx, ebx, 0x2c
mov ecx, dword [ebx + edx + 0x38]
mov eax, dword [esp + 0x20]
jmp 0x5b6924
xor ecx, ecx
jmp 0x5b6924
call fcn.00461150
xor edx, edx
mov ebx, dword [esp + 0x24]
lea ebp, [ebx + eax]
cmp edx, ebp
setb dl
jmp 0x5b68de
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x244]
mov esi, ebx
call fcn.004617f2
mov ecx, dword [esp + 0x2d4]
mov esi, ecx
mov ecx, dword [ecx + 0xa4]
dec ecx
cmp ebp, ecx
je 0x5b6ac6
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x244]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.00402990
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5b6a94
mov eax, dword [esp + 0x2c]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x5b69fc
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2d4]
jmp 0x5b69e9
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x2c]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x5b6acf
imul ebp, ebp, 0x2c
mov ebx, dword [ebp + ebx + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edx, ebx
jmp 0x5b69eb
mov ecx, esi
xor edx, edx
jmp 0x5b69eb
call fcn.00461150
xor edx, edx
mov ebx, dword [esp + 0x2cc]
cmp dword [ebx + 0xc], edx
setb dl
jmp 0x5b68b9
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x270]
mov esi, ebx
call fcn.004617f2
mov ecx, dword [esp + 0x2d4]
mov esi, eax
mov eax, dword [ecx + 0xa4]
dec eax
cmp ebp, eax
je 0x5b6bb2
mov dword [esp + 0x30], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x270]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.00402990
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5b6b80
mov eax, dword [esp + 0x30]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x5b6ae8
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2d4]
jmp 0x5b6ad4
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x30]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x5b6bbb
imul ebp, ebp, 0x2c
mov ebx, dword [ebp + ebx + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edx, ebx
jmp 0x5b6ad6
mov eax, esi
xor edx, edx
jmp 0x5b6ad6
call fcn.00461150
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x29c]
mov esi, ebx
call fcn.004617f2
mov ecx, dword [esp + 0x2d4]
mov esi, eax
mov eax, dword [ecx + 0xa4]
dec eax
cmp ebp, eax
je 0x5b6c8a
mov dword [esp + 0x34], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x29c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.00402990
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5b6c58
mov eax, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x5b6bc0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2d4]
jmp 0x5b6892
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x34]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x5b6c93
imul ebp, ebp, 0x2c
mov ebx, dword [ebp + ebx + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edx, ebx
jmp 0x5b6894
mov eax, esi
xor edx, edx
jmp 0x5b6894
call fcn.00461150
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x5e4100]
mov dword [esp + 8], eax
call fcn.00408da0
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x5e4100]
mov dword [esp + 8], eax
call fcn.00408da0
nop
call fcn.0045fcc0
jmp fcn.005b6690