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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff64
mov ebx, eax
mov eax, dword [ebx + 0x174]
test eax, eax
je 0x5bd7b5
mov dword [esp + 0x3c], eax
cmp byte [ebx + 0x403], 0
jne 0x5bcd23
lea edx, [esp + 0x8c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
call dword [ecx + 0x20]
lea edx, [esp + 0x8c]
mov eax, dword [esp + 0x3c]
call fcn.00462aa0
lea edx, [esp + 0x54]
mov eax, ebx
call fcn.00566fa4
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x204]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x208]
mov dword [esp + 0x1c], eax
mov al, byte [ebx + 0x14e]
dec eax
sub al, 2
jb 0x5bcd68
mov eax, dword [0x671910]
test byte [eax + 0xc], 2
je 0x5bcd74
mov dword [ebx + 0x218], 1
jmp 0x5bcdcf
mov al, byte [ebx + 0x171]
dec eax
sub al, 3
jb 0x5bcd83
je 0x5bcd8f
jmp 0x5bcd9b
mov dword [ebx + 0x218], 1
jmp 0x5bcdcf
mov dword [ebx + 0x218], 2
jmp 0x5bcdcf
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x284]
sub eax, 0xa
mov edx, dword [esp + 0xc]
add edx, 0xa
mov ecx, edx
cdq
idiv ecx
mov edx, eax
mov eax, dword [ebx + 0x13c]
mov eax, dword [eax + 0x18]
call fcn.00656b70
call fcn.00656b8c
mov dword [ebx + 0x218], eax
cmp byte [ebx + 0x171], 4
jne 0x5bcdec
cmp byte [ebx + 0x14e], 0
jne 0x5bcdec
mov eax, dword [0x671910]
test byte [eax + 9], 1
jne 0x5bcdf0
xor eax, eax
jmp 0x5bcdf2
mov al, 1
mov byte [esp + 0x38], al
mov esi, 0x7fffffff
cmp byte [ebx + 0x40d], 0
je 0x5bce16
mov eax, dword [ebx + 0x13c]
mov esi, dword [eax + 0x18]
dec esi
xor eax, eax
mov al, byte [esp + 0x38]
add esi, eax
mov al, byte [ebx + 0x14e]
dec eax
sub al, 2
jae 0x5bce41
lea edx, [esp + 0x74]
mov eax, ebx
call fcn.005bd968
mov edx, dword [esp + 0x74]
add edx, edx
add edx, dword [esp + 0x78]
mov eax, ebx
call fcn.005682a4
mov edi, eax
jmp 0x5bce52
mov edi, dword [esp + 0xc]
add edi, 0xa
imul edi, dword [ebx + 0x218]
add edi, 0xa
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x284]
mov edx, edi
call fcn.00656b78
mov dword [ebx + 0x204], eax
xor eax, eax
mov dword [esp + 0x28], eax
or ebp, 0xffffffff
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, ebx
call fcn.00565828
test al, al
je 0x5bce9b
mov eax, dword [0x672cb4]
test byte [eax + 0x30], 0x40
je 0x5bce9b
mov eax, dword [0x671b50]
mov eax, dword [eax]
shr eax, 1
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x24], eax
test esi, esi
jl 0x5bd54a
inc esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], 0
xor eax, eax
mov al, byte [esp + 0x38]
mov esi, dword [esp + 0x2c]
sub esi, eax
cmp esi, 0xffffffff
jne 0x5bced2
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x5bd26b
mov eax, dword [ebx + 0x13c]
mov edi, dword [eax + 0x18]
test edi, edi
jne 0x5bcef9
mov eax, dword [ebx + 0x4d4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov eax, dword [eax + 0x52c]
mov dword [esp + 0x14], eax
jmp 0x5bd26b
mov eax, esi
cmp edi, eax
jg 0x5bcf19
mov eax, dword [ebx + 0x13c]
call fcn.00652098
call fcn.00557240
and eax, 0x7f
push eax
mov eax, edi
dec eax
pop edx
sub eax, edx
cmp esi, eax
setne byte [esp + 0x39]
mov edx, dword [ebx + 0x13c]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
mov dword [esp + 8], eax
cmp byte [esp + 0x39], 0
jne 0x5bcf40
mov eax, dword [esp + 8]
call fcn.0055c098
xor eax, eax
mov dword [esp + 0x30], eax
mov al, byte [ebx + 0x14e]
dec eax
sub al, 2
jae 0x5bcff1
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
cmp dword [eax + 0x18], 0
je 0x5bd195
mov eax, dword [esp + 8]
call fcn.00652098
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x44]
mov edx, dword [esp + 0x44]
sub eax, dword [edx + 0x68]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x3c]
mov edx, dword [esp + 0x48]
add eax, dword [edx + 0x60]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
sub dword [esp + 0x14], eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xb8]
mov edi, dword [eax + 0x18]
dec edi
cmp edi, 0
jl 0x5bd195
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xb8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + edi*4]
mov edx, dword [eax + 0x38]
mov eax, dword [esp + 0x14]
call fcn.00656b78
mov dword [esp + 0x14], eax
dec edi
cmp edi, 0xffffffff
jne 0x5bcfc6
jmp 0x5bd195
mov eax, dword [0x672cb4]
test byte [eax], 8
je 0x5bd183
cmp byte [ebx + 0x14d], 0
jne 0x5bd183
mov eax, dword [esp + 8]
call fcn.00557240
test al, al
je 0x5bd035
mov dword [esp + 0x14], 0xfffffffe
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xb8]
call fcn.00651f8c
jmp 0x5bd195
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp byte [eax + 0x29], 3
jne 0x5bd05d
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
call fcn.0056001c
xor edx, edx
mov eax, dword [esp + 8]
call fcn.006520e4
mov eax, dword [esp + 8]
cmp dword [eax + 0x18], 0
jle 0x5bd08d
mov eax, dword [esp + 8]
call fcn.00652098
cmp byte [eax + 0x29], 3
jne 0x5bd08d
mov eax, dword [esp + 8]
call fcn.00652098
call fcn.0056001c
mov eax, dword [esp + 8]
call fcn.00652114
mov eax, dword [esp + 8]
call fcn.00557240
test al, al
je 0x5bd0a7
mov dword [esp + 0x14], 0xfffffffe
jmp 0x5bd141
mov eax, dword [esp + 8]
call fcn.00652098
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x44]
mov eax, dword [esp + 8]
sub edx, dword [eax + 0x3c]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x44]
mov ecx, dword [esp + 0x4c]
sub eax, dword [ecx + 0x68]
add eax, 0x64
call fcn.00656b70
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x3c]
mov edx, dword [esp + 0x50]
add eax, dword [edx + 0x60]
sub eax, 0x64
call fcn.00656b80
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
sub dword [esp + 0x14], eax
cmp byte [ebx + 0x40d], 0
je 0x5bd141
mov eax, dword [ebx + 0x13c]
mov eax, dword [eax + 0x18]
dec eax
cmp esi, eax
jne 0x5bd141
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x44]
mov eax, dword [esp + 8]
sub edx, dword [eax + 0x3c]
sub edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
call fcn.00656b78
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xb8]
mov edi, dword [eax + 0x18]
dec edi
cmp edi, 0
jl 0x5bd195
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xb8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + edi*4]
cmp byte [eax + 8], 3
jne 0x5bd17b
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xb8]
mov edx, edi
call fcn.006520e4
dec edi
cmp edi, 0xffffffff
jne 0x5bd154
jmp 0x5bd195
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x44]
mov edx, dword [esp + 8]
sub eax, dword [edx + 0x3c]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 0
jle 0x5bd1c1
mov edx, dword [esp + 0x14]
mov eax, ebx
call fcn.005682a4
mov dword [esp + 0x14], eax
mov al, byte [ebx + 0x14e]
dec eax
sub al, 2
jae 0x5bd1c1
dec dword [esp + 0x14]
mov eax, dword [esp + 8]
dec dword [eax + 0x54]
cmp byte [esp + 0x39], 0
jne 0x5bd26b
cmp dword [esp + 0x30], 0
je 0x5bd26b
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x30]
sub edx, dword [eax + 0xc0]
mov dword [esp + 0x34], edx
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xb8]
mov edi, dword [eax + 0x18]
dec edi
cmp edi, 0
jl 0x5bd220
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xb8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + edi*4]
mov edx, dword [esp + 0x34]
sub dword [eax + 0x30], edx
mov edx, dword [esp + 0x34]
sub dword [eax + 0x38], edx
dec edi
cmp edi, 0xffffffff
jne 0x5bd1fc
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x30]
mov dword [eax + 0xc0], edx
mov edx, dword [esp + 0x30]
mov eax, ebx
call fcn.005682a4
mov dword [esp + 0x30], eax
mov eax, dword [esp + 8]
mov edi, dword [eax + 0x18]
dec edi
cmp edi, 0
jl 0x5bd26b
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + edi*4]
add eax, 0x48
mov edx, dword [esp + 0x30]
sub dword [eax + 4], edx
mov edx, dword [esp + 0x30]
sub dword [eax + 0xc], edx
dec edi
cmp edi, 0xffffffff
jne 0x5bd24a
mov eax, dword [esp + 0x2c]
cdq
idiv dword [ebx + 0x218]
cmp ebp, eax
jne 0x5bd290
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
call fcn.00656b78
mov dword [esp + 0x24], eax
jmp 0x5bd3ea
mov al, byte [ebx + 0x14e]
dec eax
sub al, 2
jae 0x5bd305
lea edx, [esp + 0x80]
mov eax, ebx
call fcn.005bd968
cmp byte [ebx + 0x14e], 2
je 0x5bd2c5
mov eax, dword [0x672cb4]
test byte [eax], 2
jne 0x5bd2c5
cmp byte [ebx + 0x45f], 0
je 0x5bd2f1
mov edx, dword [esp + 0x80]
add edx, edx
add edx, dword [esp + 0x84]
mov eax, ebx
call fcn.005682a4
mov edx, dword [ebx + 0x204]
sub edx, eax
sar edx, 1
jns 0x5bd2eb
adc edx, 0
mov dword [esp + 0x28], edx
jmp 0x5bd345
mov edx, dword [esp + 0x80]
mov eax, ebx
call fcn.005682a4
mov dword [esp + 0x28], eax
jmp 0x5bd345
mov eax, dword [0x671910]
test byte [eax + 8], 0x40
je 0x5bd33d
mov eax, dword [ebx + 0x218]
imul dword [esp + 0xc]
mov edx, dword [ebx + 0x204]
sub edx, eax
mov eax, dword [ebx + 0x218]
dec eax
add eax, eax
lea eax, [eax + eax*4]
sub edx, eax
sar edx, 1
jns 0x5bd337
adc edx, 0
mov dword [esp + 0x28], edx
jmp 0x5bd345
mov dword [esp + 0x28], 0xa
mov al, byte [ebx + 0x14e]
dec eax
sub al, 2
jae 0x5bd35e
test ebp, ebp
jl 0x5bd35e
mov eax, dword [esp + 0x24]
add dword [esp + 0x20], eax
jmp 0x5bd3c0
cmp byte [ebx + 0x14e], 0
jne 0x5bd394
mov eax, dword [0x672cb4]
test byte [eax], 8
je 0x5bd394
cmp byte [ebx + 0x14d], 0
jne 0x5bd394
test ebp, ebp
setl al
and eax, 0x7f
lea eax, [eax + eax*2]
mov edx, dword [esp + 0x24]
add edx, 2
add eax, edx
add dword [esp + 0x20], eax
jmp 0x5bd3c0
mov eax, dword [esp + 0x24]
add eax, 0xa
add dword [esp + 0x20], eax
mov al, byte [ebx + 0x14e]
dec eax
sub al, 2
jae 0x5bd3c0
mov eax, dword [ebx + 0xb0]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 0
je 0x5bd3c0
add dword [esp + 0x20], 0xa
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
inc ebp
mov eax, dword [ebx + 0x28]
cmp ebp, dword [eax + 0x18]
jl 0x5bd3da
mov edx, ebp
add edx, edx
call fcn.00651e38
mov eax, dword [ebx + 0x28]
mov eax, dword [eax + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [eax + ebp*4], edx
mov dword [ebx + 0x2c], ebp
cmp byte [ebx + 0x40d], 0
jne 0x5bd417
test ebp, ebp
jle 0x5bd417
mov eax, dword [ebx + 0x13c]
cmp esi, dword [eax + 0x18]
jl 0x5bd417
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x24]
add eax, 0xa
cmp eax, dword [esp + 0x1c]
jg 0x5bd54a
test esi, esi
jl 0x5bd523
mov eax, dword [ebx + 0x13c]
cmp esi, dword [eax + 0x18]
jge 0x5bd4d3
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + esi*4]
mov eax, dword [esp + 0x14]
push eax
lea eax, [esp + 0x90]
push eax
mov ecx, dword [esi + 0x50]
sub ecx, dword [esi + 0x48]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
call fcn.00650bf0
push esi
lea edi, [esi + 0x48]
lea esi, [esp + 0x90]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop esi
cmp byte [ebx + 0x14e], 0
jne 0x5bd523
cmp dword [ebx + 0x218], 1
jne 0x5bd523
mov eax, dword [esi + 0x50]
sub eax, dword [esi + 0x48]
cmp eax, dword [esp + 0xc]
jge 0x5bd523
mov eax, dword [esi + 0x50]
sub eax, dword [esi + 0x48]
mov edx, dword [esp + 0x3c]
mov edx, dword [edx + 0x284]
sub edx, 0x14
cmp eax, edx
jge 0x5bd523
mov eax, dword [esi + 0x50]
sub eax, dword [esi + 0x48]
push eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x284]
sub eax, 0x14
pop edx
sub eax, edx
sar eax, 1
jns 0x5bd4c6
adc eax, 0
mov edx, eax
sub edx, dword [esi + 0x48]
add dword [esi + 0x50], edx
mov dword [esi + 0x48], eax
jmp 0x5bd523
lea eax, [esi + 1]
mov edx, eax
shl edx, 4
mov eax, dword [ebx + 0x20]
call fcn.006518f4
mov dword [ebx + 0x24], esi
mov eax, dword [esp + 0x14]
push eax
lea eax, [esp + 0x90]
push eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
call fcn.00650bf0
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + 4]
mov edx, esi
shl edx, 4
add eax, edx
push esi
lea esi, [esp + 0x90]
mov edi, eax
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [esp + 0xc]
add eax, 0xa
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x24]
mov dword [ebx + 0x208], eax
inc dword [esp + 0x2c]
dec dword [esp + 0x40]
jne 0x5bceb6
cmp byte [ebx + 0x14e], 0
jne 0x5bd56f
mov eax, dword [0x672cb4]
test byte [eax], 8
je 0x5bd56f
cmp byte [ebx + 0x14d], 0
jne 0x5bd56f
add dword [ebx + 0x208], 5
jmp 0x5bd576
add dword [ebx + 0x208], 0xa
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x284]
cmp eax, dword [ebx + 0x204]
jle 0x5bd598
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x284]
mov dword [ebx + 0x204], eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x288]
cmp eax, dword [ebx + 0x208]
jle 0x5bd5ba
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x288]
mov dword [ebx + 0x208], eax
mov eax, ebx
call fcn.00565828
test al, al
je 0x5bd5df
mov eax, dword [0x672cb4]
test byte [eax + 0x30], 0x40
je 0x5bd5df
mov eax, dword [0x671b50]
mov eax, dword [eax]
shr eax, 1
add dword [ebx + 0x208], eax
cmp byte [ebx + 0x40d], 0
jne 0x5bd5fe
mov eax, dword [ebx + 0x208]
cmp eax, dword [esp + 0x1c]
jge 0x5bd5fe
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x208], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [ebx + 0x204]
sub edx, dword [eax + 0x284]
mov eax, dword [ebx + 0x20c]
call fcn.00656b70
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [ebx + 0x208]
sub edx, dword [eax + 0x288]
mov eax, dword [ebx + 0x210]
call fcn.00656b70
mov dword [esp + 4], eax
cmp byte [ebx + 0x3fc], 0
jne 0x5bd775
lea edx, [ebx + 0x20c]
mov eax, esp
call fcn.0061c2d8
test al, al
jne 0x5bd672
mov dl, 0xe
mov eax, ebx
call fcn.00567f08
mov edx, esp
mov eax, ebx
call fcn.00564d98
mov eax, ebx
call fcn.00567fbc
mov eax, dword [esp + 0x3c]
or dword [eax + 0x2cc], 0x4000
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x270]
call fcn.006161c4
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x26c]
call fcn.006161c4
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x270]
mov edx, dword [ebx + 0x204]
mov dword [eax + 0x1cc], edx
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x284]
mov edx, 0x5a
call fcn.00622538
mov edx, dword [esp + 0x3c]
mov edx, dword [edx + 0x270]
mov dword [edx + 0x1d8], eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x26c]
mov edx, dword [ebx + 0x208]
mov dword [eax + 0x1cc], edx
mov al, byte [ebx + 0x171]
add al, 0xfd
sub al, 2
jae 0x5bd71c
cmp byte [ebx + 0x14e], 0
jne 0x5bd71c
mov eax, dword [esp + 0x10]
add eax, 0xa
mov edx, dword [esp + 0x3c]
mov edx, dword [edx + 0x26c]
mov dword [edx + 0x1d8], eax
jmp 0x5bd740
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x288]
mov edx, 0x5a
call fcn.00622538
mov edx, dword [esp + 0x3c]
mov edx, dword [edx + 0x26c]
mov dword [edx + 0x1d8], eax
mov eax, dword [esp + 0x3c]
call fcn.00462fb4
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x270]
call fcn.006161ec
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x26c]
call fcn.006161ec
mov eax, dword [esp + 0x3c]
and dword [eax + 0x2cc], 0xffffbfff
cmp byte [ebx + 0x400], 0
je 0x5bd799
mov eax, ebx
call fcn.005c2534
mov eax, dword [esp + 0x3c]
call fcn.00646e88
test al, al
je 0x5bd799
mov eax, ebx
call fcn.005c2dc8
mov eax, dword [ebx + 0x204]
cmp eax, dword [esp + 0x18]
je 0x5bd7b5
cmp byte [ebx + 0x403], 0
je 0x5bd7b5
mov byte [ebx + 0x404], 1
add esp, 0x9c
pop ebp
pop edi
pop esi
pop ebx
ret