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

Disassembly:
mov ecx, dword [0x8cbf38]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x1b0]
cmp eax, dword [ecx + 8]
jbe 0x5b9a74
sub esp, 0x230
mov dword [esp + 0x24c], 0
mov ecx, dword [esp + 0x234]
mov ebx, dword [ecx + 0x18c]
mov ebp, dword [esp + 0x23c]
cmp ebp, ebx
jne 0x5b7b9c
mov esi, dword [ecx + 0x19c]
jmp 0x5b7b9e
mov esi, ebx
mov dword [esp + 0x60], esi
mov eax, esi
mov esi, dword [esp + 0x240]
cmp esi, 0x128
ja 0x5b8463
cmp esi, 0x4e
ja 0x5b82e2
cmp esi, 0x14
jne 0x5b7bdd
mov eax, dword [esp + 0x248]
mov edx, 1
mov ebx, dword [esp + 0x244]
jmp 0x5b8819
cmp esi, 0x47
jne 0x5b7c54
mov ebx, dword [esp + 0x248]
mov eax, ebx
mov edx, dword [ebx + 0x18]
test edx, 1
je 0x5b7c04
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x5b8819
mov dword [esp + 0x1b8], ebx
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 8]
mov eax, dword [eax + 0x28]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x1b8]
mov eax, dword [eax + 0x10]
cmp dword [esp + 0xc], eax
setg al
mov ecx, dword [esp + 0x234]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov edx, eax
mov ebx, dword [esp + 0x244]
mov eax, dword [esp + 0x248]
jmp 0x5b8819
cmp esi, 0x4e
jne 0x5b85cf
mov edx, esi
mov esi, dword [esp + 0x248]
mov edi, esi
mov eax, dword [esi]
cmp dword [ecx + 0x190], eax
je 0x5b7c7a
cmp dword [ecx + 0x1a0], eax
jne 0x5b7cba
cmp dword [esi + 8], 0xfffffff4
je 0x5b7c84
cmp ebp, ebx
jmp 0x5b7cbc
mov dword [esp], eax
mov dword [esp + 4], 0x4e
mov eax, dword [esp + 0x244]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
call fcn.005b9f50
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24c], eax
call fcn.0043b8a0
add esp, 0x230
ret
cmp ebp, ebx
mov dword [esp + 0x1b8], esi
sete bl
mov eax, dword [esi + 8]
cmp eax, 0xffffff8d
ja 0x5b7f41
cmp eax, 0xffffff4c
ja 0x5b7e42
cmp eax, 0xfffffebf
je 0x5b7e14
cmp eax, 0xffffff4c
jne 0x5b8c3f
movzx ebx, byte [ecx + 0x2f8]
test bl, bl
jne 0x5b8c3f
mov byte [ecx + 0x2f8], 1
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d8], 0
lea eax, [0x5b9bc0]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], ecx
lea eax, [esp + 0x1d4]
mov dword [esp + 0x144], eax
lea eax, [esp + 0x138]
mov dword [esp], eax
call fcn.0043b310
test eax, eax
jne 0x5b7e08
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea eax, [esp + 0xa4]
mov ecx, dword [esp + 0x23c]
mov dword [esp], ecx
mov dword [esp + 4], 0x100e
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
call fcn.0054c040
mov eax, dword [esp + 0x248]
mov edx, dword [esp + 0xb0]
sub edx, dword [esp + 0xa8]
imul edx, dword [eax + 0x10]
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], 0x1014
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
call fcn.0054c040
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
jmp 0x5b8c3f
call fcn.0043b8a0
add esp, 0x230
ret
mov dword [esp], ecx
mov byte [esp + 4], 0
call fcn.005bae40
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
jmp 0x5b8c3f
cmp eax, 0xffffff4f
jne 0x5b7e77
mov eax, dword [ecx + 0x1b0]
mov edx, dword [esi + 0x14]
mov ebp, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x84], eax
xor eax, eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x84]
jmp 0x5b934d
cmp eax, 0xffffff8d
jne 0x5b8c3f
mov ebx, dword [ecx + 0x258]
test ebx, ebx
je 0x5b7e92
cmp ebp, ebx
jne 0x5b8c3f
mov dword [ecx + 0x258], ebp
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 0
lea eax, [0x5b9b60]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ecx
lea eax, [esp + 0x1c4]
mov dword [esp + 0xfc], eax
lea eax, [esp + 0xf0]
mov dword [esp], eax
call fcn.0043b310
test eax, eax
jne 0x5b7f35
mov eax, dword [esp + 0x234]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x23c]
mov dword [esp + 8], ecx
call fcn.005b6fa0
mov eax, dword [esp + 0x234]
mov dword [esp], eax
call fcn.005b6e70
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
jmp 0x5b8c3f
call fcn.0043b8a0
add esp, 0x230
ret
cmp eax, 0xffffff94
ja 0x5b800e
cmp eax, 0xffffff8e
je 0x5b7f86
cmp eax, 0xffffff94
jne 0x5b8c3f
mov eax, dword [ecx + 0x1b0]
mov esi, dword [esi + 0x10]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x8c], eax
xor eax, eax
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x8c]
jmp 0x5b91ef
mov eax, dword [ecx + 0x2b4]
test eax, eax
jle 0x5b7f97
mov byte [ecx + 0x2dd], 1
mov eax, dword [esi + 0xc]
cmp dword [ecx + 0x250], eax
je 0x5b7fdf
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005b6600
mov eax, dword [esp + 0x234]
lea ecx, [eax + 0x25c]
mov dword [esp], ecx
call fcn.0059dce0
mov eax, dword [esp + 0x234]
lea ecx, [eax + 0x304]
mov dword [esp], ecx
call fcn.0059dce0
mov ecx, dword [esp + 0x234]
lea eax, [ecx + 0x274]
mov dword [esp], eax
call fcn.0059dce0
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
jmp 0x5b8c3f
cmp eax, 0xffffff9b
jne 0x5b828d
mov ebx, dword [ecx + 0x258]
test ebx, ebx
je 0x5b8029
cmp ebp, ebx
jne 0x5b8c3f
mov dword [ecx + 0x258], ebp
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
lea eax, [0x5b9b90]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
lea eax, [esp + 0x1cc]
mov dword [esp + 0x120], eax
lea eax, [esp + 0x114]
mov dword [esp], eax
call fcn.0043b310
test eax, eax
jne 0x5b8281
mov eax, dword [esp + 0x234]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x23c]
mov dword [esp + 8], ecx
call fcn.005b6fa0
mov eax, dword [esp + 0x1b8]
cmp dword [eax + 0xc], 0xffffffff
jne 0x5b80d9
mov ecx, dword [esp + 0x234]
movzx ebx, byte [ecx + 0x2b0]
test bl, bl
jne 0x5b80e0
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
jmp 0x5b8c3f
mov ecx, dword [esp + 0x234]
mov byte [ecx + 0x2b0], 0
mov ebx, dword [eax + 0x14]
mov dword [esp + 0x80], ebx
mov ebp, dword [eax + 0x18]
mov dword [esp + 0x7c], ebp
test ebx, 2
cmp dword [ecx + 0x254], 0xffffffff
je 0x5b814b
test ebx, 2
jbe 0x5b8147
test ebp, 2
jbe 0x5b811b
xor edx, edx
jmp 0x5b814d
call fcn.005a6220
movzx eax, byte [esp]
test al, 3
sete al
mov ecx, dword [esp + 0x234]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
mov edx, eax
mov eax, dword [esp + 0x1b8]
jmp 0x5b814d
xor edx, edx
jmp 0x5b814d
xor edx, edx
test dl, dl
jne 0x5b815c
test ebx, 2
jmp 0x5b8216
mov edx, dword [ecx + 0x250]
mov dword [ecx + 0x24c], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0x250], edx
mov edx, dword [ecx + 0x2b4]
test edx, edx
jle 0x5b81f0
mov byte [ecx + 0x2dd], 0
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x2b4]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.0054c760
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5b81c5
lea eax, [0x67dd23]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.0059d580
mov eax, dword [esp + 0x1b8]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x234]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005b6600
mov eax, dword [esp + 0x80]
test eax, 2
jmp 0x5b820b
mov eax, dword [eax + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005b6600
mov eax, dword [esp + 0x80]
test eax, 2
mov ecx, dword [esp + 0x234]
mov ebp, dword [esp + 0x7c]
seta bl
test ebp, 2
xchg ebp, ebx
seta bl
xchg ebp, ebx
xchg ebp, eax
cmp al, bl
xchg ebp, eax
je 0x5b8267
movzx ebx, byte [ecx + 0x2b1]
test bl, bl
jne 0x5b8267
mov dword [esp], ecx
call fcn.005b6e00
movzx eax, byte [esp + 4]
test al, al
jne 0x5b8251
mov ecx, dword [esp + 0x234]
jmp 0x5b8267
mov eax, dword [esp + 0x234]
mov dword [esp], eax
call fcn.005b6e70
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
jmp 0x5b8c3f
call fcn.0043b8a0
add esp, 0x230
ret
cmp eax, 0xfffffff4
jne 0x5b8c3f
mov eax, dword [esi + 0x48]
test eax, eax
jne 0x5b82cb
mov eax, dword [ecx + 0x1b0]
mov esi, dword [esi + 0x38]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x94]
jmp 0x5b8c68
mov dword [esp + 0x24c], 0x100
call fcn.0043b8a0
add esp, 0x230
ret
cmp esi, 0x100
ja 0x5b83dc
cmp esi, 0x87
jne 0x5b8327
mov ebx, dword [esp + 0x244]
cmp ebx, 0xd
je 0x5b8310
mov eax, dword [esp + 0x248]
xor edx, edx
jmp 0x5b8819
mov dword [esp + 0x24c], 4
call fcn.0043b8a0
add esp, 0x230
ret
cmp esi, 0x100
jne 0x5b85cf
mov eax, dword [esp + 0x244]
cmp eax, 0x20
jne 0x5b839b
mov edx, dword [ecx + 0x250]
test edx, edx
jl 0x5b839b
mov edx, dword [ecx + 0x1c4]
test edx, edx
je 0x5b839b
mov dword [esp], ecx
call fcn.005b6590
movzx eax, byte [esp + 4]
test al, al
jne 0x5b8374
mov eax, dword [esp + 0x244]
mov ecx, dword [esp + 0x234]
jmp 0x5b839b
mov eax, dword [esp + 0x234]
mov ecx, dword [eax + 0x250]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005b7480
mov eax, dword [esp + 0x244]
mov ecx, dword [esp + 0x234]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x248]
mov dword [esp + 8], edx
call fcn.005ce070
mov ecx, dword [esp + 0x234]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov eax, dword [esp + 0x248]
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x5b8819
cmp esi, 0x101
je 0x5b8422
cmp esi, 0x128
jne 0x5b85cf
mov ebx, dword [esp + 0x244]
cmp bx, 1
jne 0x5b8405
or ebx, 0x10000
jmp 0x5b8414
lea eax, [ebx - 2]
cmp ax, 1
ja 0x5b8414
and ebx, 0x10000
mov eax, dword [esp + 0x248]
xor edx, edx
jmp 0x5b8819
lea eax, [ecx + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x244]
mov word [esp + 4], ax
call fcn.005a66f0
mov ecx, dword [esp + 0x234]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov eax, dword [esp + 0x248]
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x5b8819
cmp esi, 0x202
ja 0x5b848c
cmp esi, 0x200
je 0x5b84e3
cmp esi, 0x201
je 0x5b85e4
cmp esi, 0x202
je 0x5b84ac
jmp 0x5b85cf
cmp esi, 0x205
ja 0x5b84cb
cmp esi, 0x204
jbe 0x5b85e4
cmp esi, 0x205
jne 0x5b85cf
mov dword [ecx + 0x254], 0xffffffff
mov eax, dword [esp + 0x248]
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x5b8819
cmp esi, 0x206
je 0x5b85e4
cmp esi, 0x2a3
jne 0x5b85cf
movzx ebx, byte [ecx + 0x2fa]
test bl, bl
je 0x5b8503
mov eax, dword [esp + 0x248]
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x5b8819
mov byte [ecx + 0x2fa], 1
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1e8], 0
lea eax, [0x5b9f20]
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], ecx
lea eax, [esp + 0x1e4]
mov dword [esp + 0x18c], eax
lea eax, [esp + 0x180]
mov dword [esp], eax
call fcn.0043b310
test eax, eax
jne 0x5b85c3
mov eax, dword [esp + 0x240]
cmp eax, 0x200
jne 0x5b8572
mov ecx, dword [esp + 0x248]
and ecx, 0xffff0000
jmp 0x5b8579
mov ecx, dword [esp + 0x248]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x60]
mov dword [esp], edx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x244]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.0054c040
mov ecx, dword [esp + 0x234]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov eax, dword [esp + 0x78]
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x5b8819
call fcn.0043b8a0
add esp, 0x230
ret
mov eax, dword [esp + 0x248]
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x5b8819
lea edi, [esp + 0xb4]
xor eax, eax
call fcn.0046c0ba
mov ecx, dword [esp + 0x248]
movsx edx, cx
shr ecx, 0x10
movsx ecx, cx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ecx
lea ecx, [esp + 0xb4]
mov dword [esp], ebp
mov dword [esp + 4], 0x1012
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
call fcn.0054c040
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x234]
mov dword [edx + 0x254], ecx
cmp dword [esp + 0xbc], 1
jne 0x5b86c7
mov dword [esp], edx
call fcn.005b6e00
movzx eax, byte [esp + 4]
test al, al
je 0x5b8672
mov ecx, dword [esp + 0x234]
mov byte [ecx + 0x2b0], 1
jmp 0x5b86b6
mov eax, dword [esp + 0x234]
mov dword [esp], eax
call fcn.005b6590
movzx eax, byte [esp + 4]
test al, al
je 0x5b87ed
mov ecx, dword [esp + 0x234]
mov ebx, dword [ecx + 0x250]
test ebx, ebx
jl 0x5b86b6
mov dword [esp], ecx
mov dword [esp + 4], 0xffffffff
call fcn.005b6600
mov ecx, dword [esp + 0x234]
movzx ebx, byte [ecx + 0x2fe]
test bl, bl
jne 0x5b87d6
mov edx, ecx
mov ecx, dword [esp + 0x240]
cmp ecx, 0x203
ja 0x5b86eb
cmp ecx, 0x201
je 0x5b86f3
cmp ecx, 0x203
je 0x5b8765
jmp 0x5b87b4
cmp ecx, 0x204
jne 0x5b875d
cmp dword [esp + 0xbc], 8
jne 0x5b87b4
mov ebx, dword [edx + 0x1c4]
test ebx, ebx
je 0x5b87b4
mov dword [esp], edx
call fcn.005b6590
movzx eax, byte [esp + 4]
test al, al
jne 0x5b8733
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x234]
jmp 0x5b87b4
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x234]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005b7480
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x234]
jmp 0x5b87b4
cmp ecx, 0x206
jne 0x5b87b4
mov ebx, dword [edx + 0x250]
cmp dword [edx + 0x24c], ebx
je 0x5b87b4
mov ebp, dword [edx + 0x2b4]
test ebp, ebp
jle 0x5b87b4
mov dword [edx + 0x24c], ebx
lea eax, [edx + 0x25c]
mov dword [esp], eax
call fcn.0059dce0
mov eax, dword [esp + 0x234]
lea ecx, [eax + 0x304]
mov dword [esp], ecx
call fcn.0059dce0
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x234]
mov ecx, edx
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov eax, dword [esp + 0x248]
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x5b8819
mov dword [esp + 0x24c], 0
call fcn.0043b8a0
add esp, 0x230
ret
mov eax, dword [esp + 0x234]
mov eax, dword [eax + 0x18c]
mov dword [esp], eax
call fcn.0054c2d0
mov dword [esp + 0x24c], 0
call fcn.0043b8a0
add esp, 0x230
ret
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], ebx
mov byte [esp + 0x33], dl
mov dword [esp + 0x48], eax
lea edi, [esp + 0x208]
xor eax, eax
call fcn.0046c0bb
lea ecx, [0x5b9ab0]
mov dword [esp + 0x208], ecx
mov dword [esp + 0x20c], ebp
mov ecx, dword [esp + 0x234]
mov dword [esp + 0x210], ecx
mov eax, ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x214], ebx
mov edi, ebx
lea ebx, [esp + 0x48]
mov dword [esp + 0x218], ebx
cmp esi, 0x204
ja 0x5b8926
cmp esi, 0x201
ja 0x5b890c
cmp esi, 0x200
je 0x5b88a4
cmp esi, 0x201
jne 0x5b8a8c
jmp 0x5b894a
mov eax, dword [esp + 0x208]
lea edx, [esp + 0x208]
call eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x234]
mov dword [esp], ecx
lea ebx, [ecx + 0x98]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x200
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.005cda10
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x234]
movzx edx, byte [esp + 0x33]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov edi, dword [esp + 0x78]
jmp 0x5b8a8c
cmp esi, 0x202
je 0x5b8a26
cmp esi, 0x204
jne 0x5b8a8c
jmp 0x5b894a
cmp esi, 0x207
ja 0x5b89b5
cmp esi, 0x205
je 0x5b8a26
cmp esi, 0x207
jne 0x5b8a8c
mov eax, dword [esp + 0x208]
lea edx, [esp + 0x208]
call eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x234]
mov dword [esp], ecx
lea ebx, [ecx + 0x80]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x240]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x74]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.005cda10
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x234]
movzx edx, byte [esp + 0x33]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov edi, dword [esp + 0x78]
jmp 0x5b8a8c
cmp esi, 0x208
je 0x5b8a26
cmp esi, 0x20a
jne 0x5b8a8c
mov eax, dword [esp + 0x208]
lea edx, [esp + 0x208]
call eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x234]
mov dword [esp], ecx
lea ebx, [ecx + 0xa4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.005cdaa0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x234]
movzx edx, byte [esp + 0x33]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov edi, dword [esp + 0x78]
jmp 0x5b8a8c
mov eax, dword [esp + 0x208]
lea edx, [esp + 0x208]
call eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x234]
mov dword [esp], ecx
lea ebx, [ecx + 0x8c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x240]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x74]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.005cda10
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x234]
movzx edx, byte [esp + 0x33]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
mov edi, dword [esp + 0x78]
test dl, dl
je 0x5b8ace
movzx edx, byte [ecx + 0x2b2]
test dl, dl
je 0x5b8b04
movzx edx, byte [ecx + 0x2fc]
test dl, dl
jne 0x5b8b04
mov edx, dword [ecx + 0x1b0]
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x70], eax
xor eax, eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x9c]
jmp 0x5b8b31
mov ecx, dword [esp + 0x238]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
call fcn.005494e0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24c], eax
call fcn.0043b8a0
add esp, 0x230
ret
cmp esi, 0x14
jne 0x5b8ace
mov dword [esp + 0x24c], 1
call fcn.0043b8a0
add esp, 0x230
ret
inc edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
mov edi, dword [esp + 0x70]
cmp edi, edx
jge 0x5b8b51
mov eax, dword [ebx + edi*4]
movzx eax, byte [eax + 0x40]
test al, al
je 0x5b8b4b
mov eax, dword [esp + 0x68]
inc eax
jmp 0x5b8b20
mov eax, dword [esp + 0x68]
jmp 0x5b8b20
xor edi, edi
xor edi, edi
mov dword [esp + 0x64], edi
xor edi, edi
jmp 0x5b8b6d
inc edi
mov esi, dword [esp + 0x240]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x74]
cmp edi, edx
jge 0x5b8b93
mov eax, dword [ebx + edi*4]
movzx esi, byte [eax + 0x41]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5b8b8d
movzx eax, byte [eax + 0x40]
test al, al
je 0x5b8b8d
mov eax, dword [esp + 0x64]
inc eax
jmp 0x5b8b5d
mov eax, dword [esp + 0x64]
jmp 0x5b8b5d
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
sub edx, ebx
test edx, edx
je 0x5b8bb5
setg dl
cmp dword [ecx + 0x19c], ebp
sete bl
cmp dl, bl
jne 0x5b8c36
mov byte [ecx + 0x2fc], 1
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 0
lea eax, [0x5b9a80]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
lea eax, [esp + 0x1bc]
mov dword [esp + 0xd8], eax
lea eax, [esp + 0xcc]
mov dword [esp], eax
call fcn.0043b310
test eax, eax
jne 0x5b8c2a
mov eax, dword [esp + 0x234]
mov dword [esp], eax
call fcn.005b71a0
mov eax, dword [esp + 0x74]
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x240]
jmp 0x5b8c36
call fcn.0043b8a0
add esp, 0x230
ret
mov edi, dword [esp + 0x78]
jmp 0x5b8b04
mov esi, edx
mov eax, edi
xor edx, edx
mov ebx, dword [esp + 0x244]
jmp 0x5b8819
inc ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x58], ebp
mov ecx, dword [esp + 0x234]
mov ebp, dword [esp + 0x23c]
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jge 0x5b8c9c
mov ebp, dword [edx + ecx*4]
cmp byte [ebp + 0x41], bl
jne 0x5b8c8d
movzx ebp, byte [ebp + 0x40]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b8c8d
mov ebp, dword [esp + 0x58]
cmp ebp, esi
je 0x5b8c93
inc ebp
jmp 0x5b8c51
mov ebp, dword [esp + 0x58]
jmp 0x5b8c51
mov ebp, dword [esp + 0x23c]
jmp 0x5b8ca1
mov ecx, 0xffffffff
cmp ecx, 0xffffffff
jne 0x5b8cb6
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
jmp 0x5b8c3f
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x1b8]
mov esi, dword [ebx + 0x24]
lea edi, [esp + 0x21c]
xor eax, eax
call fcn.0046c0bb
lea ecx, [0x5b9c30]
mov dword [esp + 0x21c], ecx
mov ecx, dword [esp + 0x234]
mov dword [esp + 0x220], ecx
mov dword [esp + 0x224], esi
mov eax, esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x228], esi
mov dword [esp + 0x22c], ebx
mov esi, dword [ebx + 0xc]
cmp esi, 0x10001
ja 0x5b90d4
cmp esi, 1
je 0x5b90bd
cmp esi, 0x10001
jne 0x5b917d
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], 0x102c
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
call fcn.0054c040
mov eax, dword [esp + 0x10]
test eax, 2
je 0x5b8d7b
mov ecx, dword [esp + 0x234]
mov edx, dword [ecx + 0x2c0]
mov dword [ecx + 0x2cc], edx
mov edx, dword [ecx + 0x2c4]
mov dword [ecx + 0x2d0], edx
jmp 0x5b8d9a
mov ecx, dword [esp + 0x234]
mov edx, dword [ecx + 0x2b8]
mov dword [ecx + 0x2cc], edx
mov edx, dword [ecx + 0x2bc]
mov dword [ecx + 0x2d0], edx
je 0x5b8da2
mov ebp, dword [esp + 0x78]
jmp 0x5b8de2
movzx edx, byte [ecx + 0x2dc]
test dl, dl
je 0x5b8dde
mov edx, dword [esp + 0x78]
mov ebx, edx
shr edx, 0x1f
add edx, ebx
and edx, 0xfffffffe
mov ebp, ebx
sub ebx, edx
cmp ebx, 1
jne 0x5b8de2
mov edx, dword [ecx + 0x2d4]
mov dword [ecx + 0x2cc], edx
mov edx, dword [ecx + 0x2d8]
mov dword [ecx + 0x2d0], edx
jmp 0x5b8de2
mov ebp, dword [esp + 0x78]
mov edx, dword [ecx + 0x2cc]
mov dword [ecx + 0x200], edx
mov edx, dword [ecx + 0x2d0]
mov dword [ecx + 0x204], edx
mov edx, dword [ecx + 0x1d4]
test edx, edx
jne 0x5b8e0e
test eax, 2
jmp 0x5b8f22
mov dword [esp + 0x4c], eax
mov dword [ecx + 0x1dc], ebp
mov dword [ecx + 0x1e0], 0xffffffff
mov eax, dword [esp + 0x1b8]
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x1c]
mov esi, dword [eax + 0x20]
sub ebp, edx
sub esi, ebx
mov dword [ecx + 0x1e4], edx
mov dword [ecx + 0x1e8], ebx
mov dword [ecx + 0x1ec], ebp
mov dword [ecx + 0x1f0], esi
mov edx, dword [ecx + 0x14]
mov dword [esp], edx
call fcn.0054a770
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x234]
mov dword [ecx + 0x1f8], eax
mov dword [ecx + 0x1f4], 0
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5b8e8e
mov eax, dword [ecx + 0x208]
call fcn.0046beb0
mov dword [edi], eax
mov dword [ecx + 0x208], 0
mov dword [ecx + 0x20c], 0
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5b8eb9
mov eax, dword [ecx + 0x210]
call fcn.0046beb0
mov dword [edi], eax
mov dword [ecx + 0x210], 0
mov eax, dword [ecx + 0x1d4]
mov edx, dword [ecx + 0x1d8]
mov eax, dword [eax + 0x10]
mov dword [esp], edx
lea edx, [ecx + 0x1dc]
mov dword [esp + 4], edx
call eax
mov eax, dword [0x8cc0e0]
mov ecx, dword [esp + 0x234]
mov edx, dword [ecx + 0x208]
test eax, eax
jne 0x5b8f03
mov eax, dword [esp + 0x4c]
test eax, 2
jmp 0x5b8f1c
call fcn.0046bec0
mov dword [edi], edx
mov eax, dword [ecx + 0x214]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x4c]
test eax, 2
mov dword [ecx + 0x214], edx
je 0x5b8f3e
mov edx, dword [ecx + 0x2cc]
mov dword [ecx + 0x200], edx
mov edx, dword [ecx + 0x2d0]
mov dword [ecx + 0x204], edx
jmp 0x5b8f56
mov edx, dword [ecx + 0x200]
mov dword [ecx + 0x2cc], edx
mov edx, dword [ecx + 0x204]
mov dword [ecx + 0x2d0], edx
mov edx, dword [ecx + 0x200]
cmp dword [ecx + 0x2b8], edx
je 0x5b908d
test eax, 2
je 0x5b8f8e
call fcn.0054a900
mov eax, dword [esp]
mov ecx, dword [esp + 0x234]
cmp dword [ecx + 0x18c], eax
je 0x5b8f8e
cmp dword [ecx + 0x19c], eax
jne 0x5b8f96
mov eax, dword [ecx + 0x200]
jmp 0x5b8f9c
mov eax, dword [ecx + 0x2c8]
mov dword [esp], eax
call fcn.00590d00
mov eax, dword [esp + 4]
test eax, eax
je 0x5b9078
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1e0], 0
lea ecx, [0x5b9bf0]
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], eax
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x168], ecx
lea ecx, [esp + 0x15c]
mov dword [esp], ecx
call fcn.0043b310
test eax, eax
jne 0x5b9081
mov eax, dword [esp + 0x1b8]
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
call fcn.005912f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x1b8]
mov edx, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x18]
mov ebp, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x20]
sub ebp, edx
sub esi, ebx
mov edi, dword [0x8a6760]
mov ecx, dword [0x8a6764]
mov dword [esp], eax
lea eax, [0x702230]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], 1
call fcn.00593160
mov ecx, dword [esp + 0x234]
jmp 0x5b908d
call fcn.0043b8a0
add esp, 0x230
ret
mov eax, dword [ecx + 0x204]
mov edx, dword [esp + 0x1b8]
mov dword [edx + 0x30], eax
mov eax, dword [ecx + 0x200]
mov dword [edx + 0x34], eax
mov dword [esp + 0x24c], 0x20
call fcn.0043b8a0
add esp, 0x230
ret
mov dword [esp + 0x24c], 0x20
call fcn.0043b8a0
add esp, 0x230
ret
cmp esi, 0x30001
jne 0x5b9175
mov eax, dword [ecx + 0x214]
test eax, eax
je 0x5b9124
mov eax, dword [ecx + 0x14]
mov dword [esp], eax
call fcn.0054a770
mov eax, dword [esp + 0x234]
mov eax, dword [eax + 0x214]
mov dword [esp], eax
call fcn.0059e640
mov eax, dword [esp + 0x1b8]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0053eeb0
mov eax, dword [esp + 0x21c]
lea edx, [esp + 0x21c]
call eax
cmp dword [esp], 4
jne 0x5b9147
call fcn.0054d3e0
movzx eax, byte [esp]
test al, al
jne 0x5b915e
mov dword [esp + 0x24c], 0x112
call fcn.0043b8a0
add esp, 0x230
ret
mov dword [esp + 0x24c], 4
call fcn.0043b8a0
add esp, 0x230
ret
cmp esi, 0x30002
je 0x5b9194
mov dword [esp + 0x24c], 0x100
call fcn.0043b8a0
add esp, 0x230
ret
mov eax, dword [esp + 0x21c]
lea edx, [esp + 0x21c]
call eax
cmp dword [esp], 4
jne 0x5b91c1
mov dword [esp + 0x24c], 4
call fcn.0043b8a0
add esp, 0x230
ret
mov dword [esp + 0x24c], 0x102
call fcn.0043b8a0
add esp, 0x230
ret
inc ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x54], edi
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
mov ebp, dword [esp + 0x34]
cmp ebp, eax
jge 0x5b921a
mov edi, dword [edx + ebp*4]
cmp byte [edi + 0x41], bl
jne 0x5b9214
movzx edi, byte [edi + 0x40]
xchg edi, eax
test al, al
xchg edi, eax
je 0x5b9214
mov edi, dword [esp + 0x54]
cmp edi, esi
je 0x5b921f
inc edi
jmp 0x5b91d8
mov edi, dword [esp + 0x54]
jmp 0x5b91d8
mov ebp, 0xffffffff
mov dword [esp + 0x34], ebp
mov eax, dword [ecx + 0x1b4]
mov edx, dword [ecx + 0x1b8]
lea ebx, [0x64ad80]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0040d750
mov eax, dword [esp + 0xc]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1a8], ecx
test eax, eax
jne 0x5b9260
xor edx, edx
jmp 0x5b9282
mov edx, dword [eax + 0x10]
mov dword [esp], ecx
mov ebx, dword [esp + 0x34]
mov dword [esp + 4], ebx
call edx
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0x1a8]
mov edx, eax
mov eax, dword [esp + 0x44]
test dl, dl
je 0x5b92f1
mov edx, dword [eax + 0x20]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 0x34]
cmp dword [esp + 4], eax
jne 0x5b92b6
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x1a8]
mov dword [esp], edx
call ecx
cmp dword [esp + 4], 1
jne 0x5b92ba
mov eax, dword [esp + 0x34]
xor ecx, ecx
jmp 0x5b92c3
mov eax, dword [esp + 0x34]
mov ecx, 1
mov edx, dword [esp + 0x234]
mov dword [edx + 0x2e0], eax
mov dword [edx + 0x2e4], ecx
mov ebx, dword [esp + 0x44]
mov ebx, dword [ebx + 0x14]
mov ebp, dword [esp + 0x1a8]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call ebx
mov eax, dword [esp + 0x234]
lea ecx, [eax + 0x280]
mov dword [esp], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
call fcn.005a5d40
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
mov edi, dword [esp + 0x248]
jmp 0x5b8c3f
inc ecx
mov edi, dword [esp + 0x248]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x5c], esi
mov ecx, dword [esp + 0x234]
mov esi, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jge 0x5b9388
mov edi, dword [ebp + ecx*4]
cmp byte [edi + 0x41], bl
jne 0x5b9375
movzx edi, byte [edi + 0x40]
xchg edi, eax
test al, al
xchg edi, eax
je 0x5b9375
mov edi, esi
mov esi, dword [esp + 0x5c]
cmp esi, edx
je 0x5b937d
inc esi
jmp 0x5b932f
mov edi, esi
mov esi, dword [esp + 0x5c]
jmp 0x5b932f
mov esi, edi
mov edi, dword [esp + 0x248]
jmp 0x5b938d
mov ecx, 0xffffffff
cmp ecx, 0xffffffff
jne 0x5b93ac
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
jmp 0x5b8c3f
mov dword [esp + 0x3c], ecx
mov ebx, dword [esi + 0xc]
mov ebp, dword [esi + 0x10]
mov dword [esp + 0x6c], ebp
test ebx, 1
jbe 0x5b97a0
mov eax, dword [esp + 0x234]
mov edx, dword [eax + 0x1b4]
mov ebx, dword [eax + 0x1b8]
mov edx, dword [edx + 0x28]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call edx
mov eax, dword [esp + 0x234]
mov ecx, dword [eax + 0x1b0]
mov edx, dword [ecx + 8]
mov ebx, dword [esp + 0x3c]
cmp ebx, edx
jae 0x5b9a6a
mov ebp, dword [ecx + 4]
mov ebp, dword [ebp + ebx*4]
mov edx, dword [ebp + 0x3c]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
test edx, edx
jne 0x5b96da
mov edx, dword [esp + 0xc]
test edx, edx
je 0x5b9657
mov edx, dword [edx + 8]
cmp edx, 0x8cac3de9
ja 0x5b956f
cmp edx, 0x778cdb8
jne 0x5b945e
lea edx, [0x62efe0]
cmp ecx, edx
jne 0x5b9657
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 4]
mov ecx, dword [ecx]
jmp 0x5b96ed
cmp edx, 0x8c9289c2
jne 0x5b94ae
lea edx, [0x6626c0]
cmp ecx, edx
jne 0x5b9657
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jne 0x5b9480
mov ecx, 2
mov eax, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005bf8f0
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0x234]
lea edx, [0x62efe0]
mov ebx, dword [esp + 0x3c]
jmp 0x5b96ed
cmp edx, 0x8cac3de9
jne 0x5b9657
lea edx, [0x666460]
cmp ecx, edx
jne 0x5b9657
mov esi, dword [esp + 0x10]
lea edi, [esp + 0x1f4]
call fcn.0046c59e
lea edi, [esp]
lea esi, [esp + 0x1f4]
call fcn.0046c59e
mov byte [esp + 0x14], 0
call fcn.004c80f0
cmp dword [esp + 0x18], 0x641
jle 0x5b9551
mov edx, dword [esp + 0x234]
mov ebx, dword [edx + 0x1b0]
mov ecx, dword [ebx + 8]
mov eax, dword [esp + 0x3c]
cmp eax, ecx
jae 0x5b9a65
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + eax*4]
mov edx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x70], ecx
lea edi, [esp]
lea esi, [esp + 0x1f4]
call fcn.0046c59e
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x18], ecx
call fcn.004bf090
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
jmp 0x5b9555
xor ecx, ecx
xor eax, eax
lea edx, [0x62efe0]
mov ebx, dword [esp + 0x3c]
mov ebp, ecx
mov ecx, eax
mov eax, dword [esp + 0x234]
jmp 0x5b96ed
cmp edx, 0x8d826c95
jne 0x5b95c9
lea edx, [0x62f0e0]
cmp ecx, edx
jne 0x5b9657
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jne 0x5b9591
mov ecx, 2
mov eax, dword [esp + 0x10]
movss xmm0, dword [eax]
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
mov dword [esp + 8], ecx
call fcn.005bf860
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x234]
lea edx, [0x62efe0]
mov ebx, dword [esp + 0x3c]
jmp 0x5b96ed
cmp edx, 0x93592d94
jne 0x5b961b
lea edx, [0x62f120]
cmp ecx, edx
jne 0x5b9657
mov ecx, dword [ebp + 0x20]
test ecx, ecx
jne 0x5b95e7
mov ecx, 2
mov eax, dword [esp + 0x10]
movsd xmm0, qword [eax]
movsd qword [esp], xmm0
mov dword [esp + 8], ecx
call fcn.005bf860
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x234]
lea edx, [0x62efe0]
mov ebx, dword [esp + 0x3c]
jmp 0x5b96ed
cmp edx, 0xb00b9f48
jne 0x5b9657
lea edx, [0x62f020]
cmp ecx, edx
jne 0x5b9657
mov ecx, dword [esp + 0x10]
movzx ecx, byte [ecx]
test cl, cl
je 0x5b9646
mov ecx, dword [0x8a6768]
mov edx, dword [0x8a676c]
jmp 0x5b964a
xor edx, edx
xor ecx, ecx
mov ebp, edx
lea edx, [0x62efe0]
jmp 0x5b96ed
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1f0], esi
mov edx, dword [eax + 0x1b0]
mov ecx, dword [edx + 8]
cmp ebx, ecx
jae 0x5b9a5e
mov eax, dword [edx + 4]
mov eax, dword [eax + ebx*4]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x1ec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004e7650
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x234]
lea edx, [0x62efe0]
mov ebx, dword [esp + 0x3c]
jmp 0x5b96ed
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], esi
call eax
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], ebp
call fcn.004b3cc0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5b9a46
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x1b8]
mov esi, dword [ebp + 0x24]
cmp ebx, esi
jl 0x5b9719
mov ebx, esi
mov esi, dword [ebp + 0x20]
test byte [esi], al
mov edx, dword [esp + 0x10]
cmp ebx, edx
ja 0x5b9a3f
cmp ebx, 0x108
jge 0x5b9736
mov eax, ebx
jmp 0x5b973d
mov eax, ebx
mov ebx, 0x108
mov ecx, dword [esp + 8]
cmp ecx, esi
je 0x5b9774
mov dword [esp + 0x1b4], esi
mov dword [esp + 0x70], eax
mov dword [esp], esi
mov dword [esp + 4], ecx
shl ebx, 1
mov dword [esp + 8], ebx
call fcn.0046c7b0
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x1b8]
mov esi, dword [esp + 0x1b4]
lea ebx, [eax - 1]
cmp ebx, 0x108
jae 0x5b9a33
mov word [esi + eax*2 - 2], 0
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x1b8]
mov edi, dword [esp + 0x248]
mov ebx, dword [esp + 0x234]
mov eax, dword [ebx + 0x1cc]
test eax, eax
jne 0x5b97bf
mov edx, dword [ebx + 0x1d4]
test edx, edx
je 0x5b99bb
mov edx, dword [esi + 0xc]
test edx, 2
jbe 0x5b99bb
mov edx, dword [esi + 0x14]
test edx, edx
jne 0x5b981a
test eax, eax
jne 0x5b97df
xor eax, eax
xor edx, edx
jmp 0x5b981e
mov ecx, dword [ebx + 0x1d0]
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], ebp
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x234]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x1b8]
mov edi, dword [esp + 0x248]
mov edx, ecx
mov ecx, dword [esp + 0x3c]
jmp 0x5b981e
xor eax, eax
xor edx, edx
mov ecx, dword [ebx + 0x1d4]
mov ebp, dword [ebx + 0x1d8]
test ecx, ecx
je 0x5b990a
test eax, eax
jne 0x5b990a
mov dword [esp + 0x1a4], ebp
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x1dc], eax
mov ecx, dword [esp + 0x3c]
mov dword [ebx + 0x1e0], ecx
mov dword [ebx + 0x1e4], 0
mov dword [ebx + 0x1e8], 0
mov dword [ebx + 0x1ec], 0
mov dword [ebx + 0x1f0], 0
mov ecx, dword [ebx + 0x14]
mov dword [esp], ecx
call fcn.0054a770
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x234]
mov dword [ecx + 0x1f8], eax
mov dword [ecx + 0x20c], 0
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5b98be
mov eax, dword [ecx + 0x210]
call fcn.0046beb0
mov dword [edi], eax
mov dword [ecx + 0x210], 0
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x10]
mov edx, dword [esp + 0x1a4]
mov dword [esp], edx
lea edx, [ecx + 0x1dc]
mov dword [esp + 4], edx
call eax
mov eax, dword [esp + 0x234]
mov ecx, dword [eax + 0x20c]
mov edx, dword [eax + 0x210]
mov ebx, eax
mov esi, dword [esp + 0x1b8]
mov edi, dword [esp + 0x248]
mov eax, ecx
test eax, eax
je 0x5b99b7
mov dword [esp + 0x1ac], edx
mov dword [esp + 0x50], eax
mov ecx, dword [ebx + 0x218]
test ecx, ecx
jne 0x5b993e
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.005b75f0
mov ebx, dword [esp + 0x234]
mov eax, dword [ebx + 0x14]
nop
mov dword [esp], eax
call fcn.0054a770
mov eax, dword [esp + 0x234]
mov ecx, dword [eax + 0x218]
movzx edx, byte [eax + 0x21c]
mov ebx, dword [eax + 0x220]
mov ebp, dword [eax + 0x224]
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x50]
mov dword [esp], edi
mov edi, dword [esp + 0x1ac]
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov byte [esp + 0xc], dl
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], esi
call fcn.005a5740
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1b8]
mov dword [ecx + 0x28], eax
mov ebx, dword [esp + 0x234]
mov esi, ecx
mov edi, dword [esp + 0x248]
mov ebp, dword [esp + 0x6c]
mov ecx, dword [esi + 0x14]
test ecx, ecx
jne 0x5b9a1e
mov ecx, dword [esi + 0x1c]
test ecx, 0xf000
jbe 0x5b9a1e
mov ecx, dword [ebx + 0x1c4]
test ecx, ecx
je 0x5b9a1e
mov eax, dword [ebx + 0x1c8]
mov ecx, dword [ecx + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ebp
call ecx
movzx eax, byte [esp + 8]
test al, al
je 0x5b9a02
mov ecx, dword [esp + 0x1b8]
mov dword [ecx + 0x18], 0x2000
jmp 0x5b9a10
mov ecx, dword [esp + 0x1b8]
mov dword [ecx + 0x18], 0x1000
mov ebx, dword [esp + 0x234]
mov edi, dword [esp + 0x248]
mov ecx, ebx
mov edx, dword [esp + 0x240]
mov ebp, dword [esp + 0x23c]
jmp 0x5b8c3f
mov eax, ebx
mov ecx, 0x108
call fcn.0046bf30
mov ecx, ebx
call fcn.0046bf70
lea eax, [0x62efe0]
mov dword [esp], eax
lea eax, [0x700e24]
mov dword [esp + 4], eax
call fcn.0043c340
mov eax, ebx
call fcn.0046bf30
call fcn.0046bf30
mov eax, ebx
mov ecx, edx
call fcn.0046bf30
nop
call fcn.0046aab0
jmp fcn.005b7b50