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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2d4]
cmp eax, dword [ecx + 8]
jbe 0x5b70ba
sub esp, 0x354
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x138]
mov eax, dword [ecx + 0x13c]
test edx, edx
je 0x5b6603
nop
movzx ebx, byte [0x7f8710]
test bl, bl
je 0x5b65c9
mov dword [0x7f8714], edx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5b65be
mov dword [0x7f8718], eax
jmp 0x5b65c9
lea edi, [0x7f8718]
call fcn.00462500
mov dword [esp + 0x274], edx
mov dword [esp + 0x278], eax
mov edx, dword [esp + 0x274]
test edx, edx
je 0x5b65fb
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5b6609
or ebx, 0x80
jmp 0x5b6609
xor ebx, ebx
xor edx, edx
xor eax, eax
jmp 0x5b6609
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x258], eax
mov dword [esp + 0x254], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x18
call fcn.004b2b70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x78], eax
cmp eax, 9
ja 0x5b6668
cmp eax, 7
jne 0x5b6650
mov eax, dword [ecx]
jmp 0x5b6685
cmp eax, 8
jne 0x5b665a
movzx eax, byte [ecx]
jmp 0x5b6685
cmp eax, 9
jne 0x5b707f
movzx eax, word [ecx]
jmp 0x5b6685
cmp eax, 0xa
jne 0x5b6671
mov eax, dword [ecx]
jmp 0x5b6685
cmp eax, 0xb
jne 0x5b667a
mov eax, dword [ecx]
jmp 0x5b6685
cmp eax, 0xc
jne 0x5b707f
mov eax, dword [ecx]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x254]
mov dword [esp], ecx
mov edx, dword [esp + 0x258]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x24]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x17
call fcn.004b2b70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x78], eax
cmp eax, 9
ja 0x5b66ee
cmp eax, 7
jne 0x5b66d2
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x5b6712
cmp eax, 8
jne 0x5b66de
movzx eax, byte [ecx]
xor ecx, ecx
jmp 0x5b6712
cmp eax, 9
jne 0x5b7045
movzx eax, word [ecx]
xor ecx, ecx
jmp 0x5b6712
cmp eax, 0xa
jne 0x5b66f9
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x5b6712
cmp eax, 0xb
jne 0x5b6705
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x5b6712
cmp eax, 0xc
jne 0x5b7045
mov eax, dword [ecx]
xor ecx, ecx
test ecx, ecx
seta dl
sete bl
test eax, eax
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebx, ebp
or ebx, edx
test bl, bl
je 0x5b692f
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x34]
and edx, 0xf0000000
shr edx, 0x1c
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0x358]
movzx ebp, byte [ebx + 0x294]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b6843
mov eax, dword [esp + 0x254]
mov dword [esp], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x16
call fcn.004b2b70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x78], eax
cmp eax, 9
ja 0x5b67bb
cmp eax, 7
jne 0x5b67a3
mov ecx, dword [ecx]
jmp 0x5b67d8
cmp eax, 8
jne 0x5b67ad
movzx ecx, byte [ecx]
jmp 0x5b67d8
cmp eax, 9
jne 0x5b700b
movzx ecx, word [ecx]
jmp 0x5b67d8
cmp eax, 0xa
jne 0x5b67c4
mov ecx, dword [ecx]
jmp 0x5b67d8
cmp eax, 0xb
jne 0x5b67cd
mov ecx, dword [ecx]
jmp 0x5b67d8
cmp eax, 0xc
jne 0x5b700b
mov ecx, dword [ecx]
mov dword [esp + 0x2c], ecx
lea edi, [esp + 0x84]
xor eax, eax
call fcn.00462768
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x78]
mov esi, dword [ecx + 0x7c]
lea ebx, [0x62ad80]
cmp edx, ebx
jne 0x5b6ff5
lea edi, [esp + 0x84]
call fcn.00462a80
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x358]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005b1960
mov eax, dword [esp + 8]
mov ecx, 1
xor edx, edx
xor ebx, ebx
xor ebp, ebp
jmp 0x5b6cde
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x254]
mov dword [esp], eax
mov eax, dword [esp + 0x258]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x16
call fcn.004b2b70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x78], eax
cmp eax, 9
ja 0x5b68a6
cmp eax, 7
jne 0x5b688e
mov ecx, dword [ecx]
jmp 0x5b68c3
cmp eax, 8
jne 0x5b6898
movzx ecx, byte [ecx]
jmp 0x5b68c3
cmp eax, 9
jne 0x5b6c8c
movzx ecx, word [ecx]
jmp 0x5b68c3
cmp eax, 0xa
jne 0x5b68af
mov ecx, dword [ecx]
jmp 0x5b68c3
cmp eax, 0xb
jne 0x5b68b8
mov ecx, dword [ecx]
jmp 0x5b68c3
cmp eax, 0xc
jne 0x5b6c8c
mov ecx, dword [ecx]
mov dword [esp + 0x28], ecx
lea edi, [esp + 0x164]
xor eax, eax
call fcn.00462764
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x78]
mov esi, dword [ecx + 0x7c]
lea ebx, [0x62aa00]
cmp edx, ebx
jne 0x5b6c76
lea edi, [esp + 0x164]
call fcn.00462a58
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x28]
sub ecx, eax
mov eax, dword [esp + 0x358]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005b1960
mov eax, dword [esp + 8]
xor ecx, ecx
mov edx, 1
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x5b696a
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x35c], edx
mov dword [esp + 0x360], ecx
mov dword [esp + 0x364], eax
add esp, 0x354
ret
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
mov eax, ebx
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x264]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x264], ebp
mov edi, dword [esp + 0x38]
cmp ecx, edi
setb bl
mov ebp, dword [esp + 0x30]
cmp edx, ebp
xchg ebp, ebx
setbe bl
xchg ebp, ebx
cmp ecx, edi
xchg edi, ebx
sete bl
xchg edi, ebx
and ebp, edi
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b6bd1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x60], esi
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], eax
lea eax, [0x5ffa00]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x2ac]
add edx, 0xfffffffc
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jbe 0x5b69e6
mov edx, dword [0x7f8238]
xor ebp, ebp
jmp 0x5b6a1d
mov edx, dword [ecx + 0x28c]
mov ebp, dword [ecx + 0x288]
mov esi, dword [ecx + 0x290]
cmp ebx, edx
ja 0x5b6c6d
sub edx, ebx
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebx
cmp edx, 3
jbe 0x5b6c61
mov ebp, dword [esi + ebp]
xor edx, edx
test edx, edx
jne 0x5b6ba6
mov dword [esp + 0x54], ebp
mov edx, dword [esp + 0x74]
test edx, edx
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5b6a4a
xor eax, eax
xor esi, esi
xor edi, edi
jmp 0x5b6ad3
mov dword [esp + 0x26c], eax
mov dword [esp], ecx
lea ebp, [0x5f4f00]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
lea esi, [ebx + 4]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.005b2650
mov eax, dword [esp + 0x26c]
movzx eax, byte [eax]
cmp al, 1
je 0x5b6a86
cmp al, 2
jne 0x5b6ab6
mov byte [esp + 0x23], al
lea edi, [esp + 0x27c]
xor eax, eax
call fcn.00462797
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0xb8]
mov ebx, dword [ecx + 0xbc]
mov ebp, dword [esp + 0x54]
xor esi, esi
jmp 0x5b6bf6
xor ecx, ecx
xor edx, edx
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x54]
mov esi, eax
mov edi, ecx
mov ecx, dword [esp + 0x358]
mov eax, edx
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x60]
inc ecx
mov edx, dword [esp + 0x64]
cmp edx, ecx
jae 0x5b6b47
mov dword [esp + 0x58], edi
mov dword [esp + 0x25c], eax
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
mov eax, dword [esp + 0x264]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x612fe0]
mov dword [esp + 0x10], eax
call fcn.0044a040
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x25c]
movzx esi, byte [esp + 0x21]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x264], ebp
mov edx, ebx
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x48]
add edx, 1
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x4c]
adc edx, 0
mov dword [esp + 0x6c], edx
dec ecx
shl ecx, 4
mov edx, dword [esp + 0x264]
mov dword [edx + ecx], ebp
xchg esi, eax
mov byte [edx + ecx + 4], al
xchg esi, eax
mov dword [edx + ecx + 0xc], edi
mov ebp, dword [0x81dcc0]
lea edi, [edx + ecx + 8]
mov esi, dword [esp + 0x74]
lea ebx, [ebx + esi + 4]
test ebp, ebp
jne 0x5b6b9c
mov dword [edx + ecx + 8], eax
jmp 0x5b6951
call fcn.00462500
jmp 0x5b6951
mov eax, dword [esp + 0x264]
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x364], eax
add esp, 0x354
ret
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x264]
mov edx, ecx
mov ecx, esi
jmp 0x5b6935
add edx, 0x24
mov ecx, dword [esp + 0x70]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x358]
cmp esi, ebx
jge 0x5b6c2a
mov dword [esp + 0x70], esi
lea edi, [esp + 0x30c]
mov esi, edx
call fcn.00462c56
cmp dword [esp + 0x310], ebp
jne 0x5b6be5
lea edi, [esp + 0x27c]
lea esi, [esp + 0x30c]
call fcn.00462c56
jmp 0x5b6c36
lea edi, [esp + 0x27c]
call fcn.00462797
lea edi, [esp + 0x2c4]
lea esi, [esp + 0x27c]
call fcn.00462c56
mov edx, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d8]
movzx eax, byte [esp + 0x23]
jmp 0x5b6aba
mov eax, 3
mov ecx, edx
call fcn.00462580
mov eax, ebx
mov ecx, edx
call fcn.004625f0
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x5ff280]
mov dword [esp + 8], eax
call fcn.00409250
lea eax, [0x60d960]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x63b26b]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
lea ecx, [0x6055c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004351d0
mov edi, dword [esp + 0x50]
lea ecx, [edi + 1]
mov eax, ebx
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x268]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x30]
cmp ecx, esi
ja 0x5b6f57
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x264], ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x44], eax
lea eax, [0x5ffa00]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0x2ac]
add edx, 0xfffffffc
mov ebx, dword [esp + 0x44]
cmp ebx, edx
jbe 0x5b6d35
mov edx, dword [0x7f8238]
xor ebp, ebp
jmp 0x5b6d6c
mov edx, dword [ecx + 0x28c]
mov ebp, dword [ecx + 0x288]
mov esi, dword [ecx + 0x290]
cmp ebx, edx
ja 0x5b6fec
sub edx, ebx
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebx
cmp edx, 3
jbe 0x5b6fe0
mov ebp, dword [esi + ebp]
xor edx, edx
test edx, edx
jne 0x5b6f2c
mov dword [esp + 0x3c], ebp
mov edx, dword [esp + 0x74]
test edx, edx
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5b6d99
xor eax, eax
xor esi, esi
xor edi, edi
jmp 0x5b6e2e
mov dword [esp + 0x270], eax
mov dword [esp], ecx
lea ebp, [0x5f4f00]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
lea esi, [ebx + 4]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.005b2650
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5b6f01
mov ecx, dword [esp + 0x270]
movzx ecx, byte [ecx]
cmp cl, 1
je 0x5b6de1
cmp cl, 2
jne 0x5b6e11
mov byte [esp + 0x23], cl
lea edi, [esp + 0x2a0]
xor eax, eax
call fcn.00462797
mov ecx, dword [esp + 0x358]
mov edx, dword [ecx + 0xb8]
mov ebx, dword [ecx + 0xbc]
mov ebp, dword [esp + 0x3c]
xor esi, esi
jmp 0x5b6f73
xor eax, eax
xor edx, edx
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
mov esi, ecx
mov edi, eax
mov ecx, dword [esp + 0x358]
mov eax, edx
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x60]
inc ecx
mov edx, dword [esp + 0x64]
cmp edx, ecx
jb 0x5b6e53
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x264]
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x7c]
jmp 0x5b6eb8
mov dword [esp + 0x5c], edi
mov dword [esp + 0x260], eax
xchg esi, eax
mov byte [esp + 0x22], al
xchg esi, eax
mov eax, dword [esp + 0x264]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x612fe0]
mov dword [esp + 0x10], eax
call fcn.0044a040
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x260]
mov ebp, dword [esp + 0x3c]
movzx esi, byte [esp + 0x22]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x268], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], edx
dec ecx
shl ecx, 4
mov edx, dword [esp + 0x268]
mov dword [edx + ecx], ebp
xchg esi, eax
mov byte [edx + ecx + 4], al
xchg esi, eax
mov dword [edx + ecx + 0xc], edi
mov ebp, dword [0x81dcc0]
lea edi, [edx + ecx + 8]
mov esi, dword [esp + 0x74]
lea ebx, [ebx + esi + 4]
test ebp, ebp
jne 0x5b6ef7
mov dword [edx + ecx + 8], eax
jmp 0x5b6cc6
call fcn.00462500
jmp 0x5b6cc6
mov eax, dword [esp + 0x264]
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x364], eax
add esp, 0x354
ret
mov eax, dword [esp + 0x264]
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x364], eax
add esp, 0x354
ret
mov eax, edx
mov esi, ebp
mov ecx, ebx
jmp 0x5b6bdc
add edx, 0x24
mov ecx, dword [esp + 0x70]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x358]
cmp esi, ebx
jge 0x5b6fa7
mov dword [esp + 0x70], esi
lea edi, [esp + 0x330]
mov esi, edx
call fcn.00462c56
cmp dword [esp + 0x334], ebp
jne 0x5b6f62
lea edi, [esp + 0x2a0]
lea esi, [esp + 0x330]
call fcn.00462c56
jmp 0x5b6fb3
lea edi, [esp + 0x2a0]
call fcn.00462797
lea edi, [esp + 0x2e8]
lea esi, [esp + 0x2a0]
call fcn.00462c56
mov edx, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2fc]
mov eax, ecx
movzx ecx, byte [esp + 0x23]
jmp 0x5b6e15
mov eax, 3
mov ecx, edx
call fcn.00462580
mov eax, ebx
mov ecx, edx
call fcn.004625f0
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x5ff280]
mov dword [esp + 8], eax
call fcn.00409250
lea eax, [0x60d960]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x63b26b]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
lea ecx, [0x6055c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004351d0
lea eax, [0x60d960]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x63b26b]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
lea ecx, [0x6055c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004351d0
lea eax, [0x60d960]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x63b26b]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
lea ecx, [0x6055c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004351d0
nop
call fcn.004610f0
jmp fcn.005b6560