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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x4e4]
cmp eax, dword [ecx + 8]
jbe 0x5b8bdc
sub esp, 0x564
mov eax, dword [esp + 0x568]
mov dword [esp], eax
call fcn.005b55d0
mov eax, dword [esp + 4]
test eax, eax
je 0x5b77fa
mov ebx, dword [eax]
cmp ebx, 0x12
je 0x5b74d5
mov ebp, dword [eax + 8]
mov dword [esp + 0x90], ebp
mov ecx, ebp
mov ebp, dword [eax + 0xc]
mov dword [esp + 0x8c], ebp
mov edx, ebp
mov ebp, dword [eax + 4]
mov dword [esp + 0x88], ebp
cmp ebx, 0x13
je 0x5b71b5
cmp ebx, 0x14
je 0x5b6f3f
mov ebx, edx
mov esi, ecx
mov edi, ebp
mov ecx, 0
mov dword [esp + 0x38], ecx
mov edx, 0
mov dword [esp + 0x104], edx
mov ebx, 0
mov dword [esp + 0x28], ebx
mov ebp, 0
mov dword [esp + 0x24], ebp
mov esi, 0
mov dword [esp + 0x100], esi
mov edi, 0
mov dword [esp + 0x34], edi
mov ecx, 0
mov dword [esp + 0x2c], ecx
mov ecx, 0
mov dword [esp + 0x30], ecx
mov ecx, 0
mov dword [esp + 0x5c], ecx
mov ecx, 0
mov dword [esp + 0x58], ecx
mov ecx, 0
mov dword [esp + 0x10c], ecx
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x88]
mov ebx, edx
mov esi, ecx
mov edi, ebp
jmp 0x5b7179
mov esi, dword [eax + 0x20]
mov dword [esp + 0x104], esi
mov edi, dword [eax + 0x24]
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x100], edx
mov edx, dword [eax + 0x30]
mov dword [esp + 0x24], edx
mov edx, dword [eax + 0x34]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x84], edx
mov ebp, dword [eax + 0x18]
mov dword [esp + 0x80], ebp
mov esi, dword [eax + 0x10]
mov dword [esp + 0x7c], esi
nop
mov eax, edi
mov edi, dword [esp + 0x568]
mov byte [edi + 0xf8], 0
inc dword [edi + 0xf4]
mov edx, dword [edi + 0xe8]
mov ebp, dword [edi + 0xe4]
mov esi, dword [edi + 0xf0]
cmp edx, esi
jbe 0x5b8bd2
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], eax
lea eax, [esi + esi*8]
lea eax, [ebp + eax*8]
cmp dword [eax], 2
sete al
mov byte [edi + 0xdd], al
inc dword [edi + 0xf0]
mov dword [esp], edi
call fcn.005b55d0
mov eax, dword [esp + 4]
test eax, eax
je 0x5b71a6
cmp dword [eax], 0x13
je 0x5b7017
mov ebx, dword [esp + 0x78]
cmp ebx, 0x14
mov ecx, 0
mov edx, 0
mov ebx, 0
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x7c]
jmp 0x5b70d2
mov edx, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
mov dword [esp + 0x58], ebx
mov ebp, dword [eax + 0x28]
mov dword [esp + 0x5c], ebp
mov esi, dword [eax + 0x14]
mov dword [esp + 0x84], esi
mov edi, dword [eax + 0x18]
mov ecx, edx
mov edx, dword [eax + 0x10]
nop
mov eax, edx
mov edx, dword [esp + 0x568]
mov byte [edx + 0xf8], 0
inc dword [edx + 0xf4]
mov ebx, dword [edx + 0xe8]
mov ebp, dword [edx + 0xe4]
mov esi, dword [edx + 0xf0]
cmp ebx, esi
jbe 0x5b8bc9
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x120], ecx
lea eax, [esi + esi*8]
lea eax, [ebp + eax*8]
cmp dword [eax], 2
sete al
mov byte [edx + 0xdd], al
inc dword [edx + 0xf0]
mov dword [esp], edx
call fcn.005b55d0
mov eax, dword [esp + 4]
test eax, eax
je 0x5b7197
mov ecx, dword [esp + 0x78]
cmp ecx, 0x14
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x7c]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x38], eax
mov dword [esp + 0xec], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x34], ecx
mov dword [esp + 0xe4], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0x2c], edx
mov dword [esp + 0xdc], ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x5c], eax
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x58], eax
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x10c], eax
mov edx, ebp
mov ecx, esi
mov ebp, edi
mov ebx, dword [esp + 0x8c]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x88]
mov eax, dword [esp + 0xf4]
sete bl
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xac]
jmp 0x5b7430
mov byte [esp + 0x574], 0
add esp, 0x564
ret
mov byte [esp + 0x574], 0
add esp, 0x564
ret
mov ebx, dword [eax + 0x20]
mov dword [esp + 0x10c], ebx
mov esi, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
mov dword [esp + 0x5c], edi
mov edx, dword [eax + 0x14]
mov dword [esp + 0x84], edx
mov ebp, dword [eax + 0x18]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x80], ebx
nop
mov eax, esi
mov esi, dword [esp + 0x568]
mov byte [esi + 0xf8], 0
inc dword [esi + 0xf4]
mov edi, dword [esi + 0xe8]
mov edx, dword [esi + 0xe4]
mov ebx, dword [esi + 0xf0]
cmp edi, ebx
jbe 0x5b8bc0
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x74], eax
lea eax, [ebx + ebx*8]
lea eax, [edx + eax*8]
cmp dword [eax], 2
sete al
mov byte [esi + 0xdd], al
inc dword [esi + 0xf0]
mov dword [esp], esi
call fcn.005b55d0
mov eax, dword [esp + 4]
test eax, eax
je 0x5b74c6
mov ebx, dword [eax]
cmp ebx, 0x14
je 0x5b72ae
mov ecx, 0
mov edx, 0
mov ebx, 0
mov ebp, 0
mov esi, 0
mov edi, 0
mov ecx, 0
mov dword [esp + 0x2c], ecx
mov ecx, 0
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x4c], edx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x50], ebx
mov ecx, 0
mov edx, 0
mov ebx, 0
jmp 0x5b73c1
mov edx, dword [eax + 0x20]
mov ebp, dword [eax + 0x24]
mov dword [esp + 0x38], ebp
mov esi, dword [eax + 0x2c]
mov dword [esp + 0x100], esi
mov edi, dword [eax + 0x30]
mov dword [esp + 0x24], edi
mov ecx, edx
mov edx, dword [eax + 0x34]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x84], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x80], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x7c], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x70], edx
mov edx, dword [eax + 0x18]
mov dword [esp + 0x6c], edx
mov edx, dword [eax + 0x10]
nop
mov eax, edx
mov edx, dword [esp + 0x568]
mov byte [edx + 0xf8], 0
inc dword [edx + 0xf4]
mov ebp, dword [edx + 0xe8]
mov esi, dword [edx + 0xe4]
mov edi, dword [edx + 0xf0]
cmp ebp, edi
jbe 0x5b8bb7
mov dword [esp + 0x68], ebx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x64], eax
lea eax, [edi + edi*8]
lea eax, [esi + eax*8]
cmp dword [eax], 2
sete al
mov byte [edx + 0xdd], al
inc dword [edx + 0xf0]
mov dword [esp], edx
call fcn.005b55d0
mov eax, dword [esp + 4]
test eax, eax
je 0x5b74b7
mov ecx, dword [esp + 0x68]
cmp ecx, 0x14
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x120]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xfc], eax
sete al
mov dword [esp + 0x38], ecx
mov dword [esp + 0x104], edx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x100], esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x34], edi
mov byte [esp + 0xbc], al
mov eax, dword [esp + 0x30]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x88]
movzx ebx, byte [esp + 0xbc]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebp
test bl, bl
je 0x5b749f
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x5b747c
mov dword [esp + 0x54], edx
mov dword [esp + 0xfc], eax
mov ebp, dword [esp + 0x568]
mov ebx, dword [ebp + 0x140]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x94]
jmp 0x5b88c4
mov ebx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x100]
mov dword [esp + 0x108], ebx
mov ebx, dword [esp + 0x28]
jmp 0x5b88a0
xor ebx, ebx
xor ebx, ebx
mov dword [esp + 0x108], ebx
xor ebx, ebx
mov dword [esp + 0x40], ebx
xor ebx, ebx
jmp 0x5b781e
mov byte [esp + 0x574], 0
add esp, 0x564
ret
mov byte [esp + 0x574], 0
add esp, 0x564
ret
mov ebx, dword [esp + 0x568]
mov ecx, dword [ebx + 0x128]
mov ebp, dword [ebx + 0x124]
mov edx, ebx
lea ebx, [ecx - 1]
cmp ecx, ebx
jbe 0x5b7817
mov ebx, dword [ebp + ecx*4 - 4]
mov dword [edx + 0x120], ebx
mov ebx, dword [edx + 0x12c]
mov ebp, dword [edx + 0x128]
lea ecx, [ebp - 1]
cmp ebx, ecx
jb 0x5b7810
mov dword [esp + 0xfc], eax
mov dword [edx + 0x128], ecx
lea edi, [esp + 0x4dc]
xor eax, eax
call fcn.0045eb5e
mov byte [esp + 0x4dc], 5
mov ecx, dword [esp + 0xfc]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 0xc]
mov eax, edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x4e0], edx
mov dword [esp + 0x4e4], ebx
mov dword [esp + 0x4e8], ebp
mov edx, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x18]
mov ebp, dword [ecx + 0x10]
mov dword [esp + 0x4ec], ebp
mov dword [esp + 0x4f0], edx
mov dword [esp + 0x4f4], ebx
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x53c], edx
mov dword [esp + 0x540], ebx
mov dword [esp + 0x544], ecx
mov edi, dword [esp + 0x56c]
test byte [edi], al
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b75bd
lea esi, [esp + 0x4dc]
call fcn.0045ef3c
jmp 0x5b75e1
lea eax, [0x624180]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x4dc]
mov dword [esp + 8], eax
call fcn.0040ff10
mov eax, dword [esp + 0x568]
nop
mov edx, dword [eax + 0x90]
mov ebx, dword [eax + 0x94]
mov ebp, dword [eax + 0x98]
mov esi, dword [esp + 0x56c]
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebp
mov ebx, dword [0x7e77b0]
test ebx, ebx
jne 0x5b7610
mov dword [esi + 0x30], edx
jmp 0x5b761e
lea edi, [esi + 0x30]
mov ecx, eax
mov eax, edx
call fcn.0045e950
mov eax, ecx
mov edx, dword [eax + 0x9c]
mov ebx, dword [eax + 0xa0]
mov ebp, dword [eax + 0xa4]
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebp
mov ebx, dword [0x7e77b0]
test ebx, ebx
jne 0x5b7645
mov dword [esi + 0x3c], edx
jmp 0x5b7653
lea edi, [esi + 0x3c]
mov ecx, eax
mov eax, edx
call fcn.0045e950
mov eax, ecx
mov edx, dword [eax + 0xa8]
mov ebx, dword [eax + 0xac]
mov ebp, dword [eax + 0xb0]
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x50], ebp
mov ebx, dword [0x7e77b0]
test ebx, ebx
jne 0x5b767a
mov dword [esi + 0x48], edx
jmp 0x5b7688
lea edi, [esi + 0x48]
mov ecx, eax
mov eax, edx
call fcn.0045e950
mov eax, ecx
mov dword [eax + 0x94], 0
mov dword [eax + 0x98], 0
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b76b2
mov dword [eax + 0x90], 0
jmp 0x5b76c3
lea edi, [eax + 0x90]
mov ecx, eax
xor eax, eax
call fcn.0045e950
mov eax, ecx
mov dword [eax + 0xa0], 0
mov dword [eax + 0xa4], 0
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b76ed
mov dword [eax + 0x9c], 0
jmp 0x5b76fe
lea edi, [eax + 0x9c]
mov ecx, eax
xor eax, eax
call fcn.0045e950
mov eax, ecx
mov dword [eax + 0xac], 0
mov dword [eax + 0xb0], 0
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b7728
mov dword [eax + 0xa8], 0
jmp 0x5b7739
lea edi, [eax + 0xa8]
mov ecx, eax
xor eax, eax
call fcn.0045e950
mov eax, ecx
mov dword [eax + 0xb8], 0
mov dword [eax + 0xbc], 0
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b7763
mov dword [eax + 0xb4], 0
jmp 0x5b7774
lea edi, [eax + 0xb4]
mov ecx, eax
xor eax, eax
call fcn.0045e950
mov eax, ecx
mov dword [eax + 0xc4], 0
mov dword [eax + 0xc8], 0
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b779e
mov dword [eax + 0xc0], 0
jmp 0x5b77af
lea edi, [eax + 0xc0]
mov ecx, eax
xor eax, eax
call fcn.0045e950
mov eax, ecx
nop
mov byte [eax + 0xf8], 0
inc dword [eax + 0xf4]
mov ecx, dword [eax + 0xe8]
mov edx, dword [eax + 0xe4]
mov ebx, dword [eax + 0xf0]
cmp ecx, ebx
jbe 0x5b7809
lea ecx, [ebx + ebx*8]
lea ecx, [edx + ecx*8]
cmp dword [ecx], 2
sete cl
mov byte [eax + 0xdd], cl
inc dword [eax + 0xf0]
mov byte [esp + 0x574], 1
add esp, 0x564
ret
mov byte [esp + 0x574], 0
add esp, 0x564
ret
mov eax, ebx
call fcn.0045e9d0
mov edx, ebx
call fcn.0045ea10
mov eax, ebx
call fcn.0045e9d0
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
movzx ebp, byte [esp + 0x571]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b7959
cmp dword [eax], 0xe
jne 0x5b7959
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x88], ecx
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x10]
mov ebp, dword [esp + 0x568]
mov dword [ebp + 0x120], 0xa
mov ebp, edi
lea edi, [esp + 0x454]
lea esi, [0x68cbb0]
call fcn.0045ef3c
mov dword [esp + 0x458], ebp
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x45c], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x460], ecx
mov dword [esp + 0x464], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x468], eax
mov dword [esp + 0x46c], edx
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x4b4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x4b8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x4bc], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x4c0], eax
mov dword [esp + 0x4c4], ebx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x4c8], eax
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x4d8], al
mov edi, dword [esp + 0x56c]
test byte [edi], al
mov eax, dword [0x7e77b0]
test eax, eax
jne 0x5b792d
lea esi, [esp + 0x454]
call fcn.0045ef3c
jmp 0x5b794a
lea eax, [0x624180]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x454]
mov dword [esp + 8], eax
call fcn.0040ff10
mov byte [esp + 0x574], 1
add esp, 0x564
ret
mov dword [esp + 0x3c], ebx
mov ebp, dword [eax]
cmp ebp, 0x15
jne 0x5b7d67
mov ebp, dword [eax + 0x14]
mov ecx, ebp
mov ebp, dword [eax + 0x18]
mov edx, ebp
mov ebp, dword [eax + 0x10]
test ebx, ebx
jne 0x5b797f
cmp byte [eax + 0x44], 2
je 0x5b7994
cmp ebx, 1
jne 0x5b79b3
mov ebx, dword [esp + 0x108]
cmp byte [ebx], 0x21
jne 0x5b79ba
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0xa4], eax
mov eax, 1
mov byte [esp + 0x22], al
xor eax, eax
mov byte [esp + 0x21], al
mov eax, dword [esp + 0xa4]
jmp 0x5b79db
mov ebx, dword [esp + 0x108]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x9c], eax
xor eax, eax
mov byte [esp + 0x22], al
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x21], al
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x88], ebp
mov ebx, dword [esp + 0x568]
mov ebp, dword [ebx + 0x128]
mov ebx, dword [ebx + 0x124]
mov dword [esp + 0x11c], ebx
lea ebx, [ebp - 1]
cmp ebp, ebx
jbe 0x5b8897
mov ebx, dword [esp + 0x11c]
mov ebx, dword [ebx + ebp*4 - 4]
mov ebp, dword [esp + 0x568]
mov dword [ebp + 0x120], ebx
mov ebx, dword [ebp + 0x12c]
mov ebp, dword [ebp + 0x128]
dec ebp
cmp ebx, ebp
jb 0x5b888e
mov dword [esp + 0x84], ecx
mov ebx, dword [esp + 0x568]
mov dword [ebx + 0x128], ebp
mov ebp, edi
lea edi, [esp + 0x3cc]
lea esi, [0x68c7f8]
call fcn.0045ef3c
mov dword [esp + 0x3d0], ebp
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x3d4], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x3d8], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x3dc], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x3e4], edx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x42c], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x430], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x434], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x438], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x43c], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x440], ecx
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
mov ebp, dword [eax + 0x28]
mov dword [esp + 0x444], ecx
mov dword [esp + 0x448], edx
mov dword [esp + 0x44c], ebp
movzx ecx, byte [esp + 0x22]
mov byte [esp + 0x450], cl
movzx ecx, byte [esp + 0x21]
mov byte [esp + 0x451], cl
movzx ecx, byte [eax + 0x44]
mov byte [esp + 0x452], cl
mov edi, dword [esp + 0x56c]
test byte [edi], al
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b7b4c
lea esi, [esp + 0x3cc]
call fcn.0045ef3c
jmp 0x5b7b70
lea eax, [0x624180]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x3cc]
mov dword [esp + 8], eax
call fcn.0040ff10
mov ebx, dword [esp + 0x568]
nop
mov eax, dword [ebx + 0x90]
mov edx, dword [ebx + 0x94]
mov ebp, dword [ebx + 0x98]
mov esi, dword [esp + 0x56c]
mov dword [esi + 0x34], edx
mov dword [esi + 0x38], ebp
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b7b9f
mov dword [esi + 0x30], eax
jmp 0x5b7ba7
lea edi, [esi + 0x30]
call fcn.0045e950
mov eax, dword [ebx + 0x9c]
mov edx, dword [ebx + 0xa0]
mov ebp, dword [ebx + 0xa4]
mov dword [esi + 0x40], edx
mov dword [esi + 0x44], ebp
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b7bce
mov dword [esi + 0x3c], eax
jmp 0x5b7bd6
lea edi, [esi + 0x3c]
call fcn.0045e950
mov eax, dword [ebx + 0xa8]
mov edx, dword [ebx + 0xac]
mov ebp, dword [ebx + 0xb0]
mov dword [esi + 0x4c], edx
mov dword [esi + 0x50], ebp
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b7bfd
mov dword [esi + 0x48], eax
jmp 0x5b7c05
lea edi, [esi + 0x48]
call fcn.0045e950
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x98], 0
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b7c2f
mov dword [ebx + 0x90], 0
jmp 0x5b7c3c
lea edi, [ebx + 0x90]
xor eax, eax
call fcn.0045e950
mov dword [ebx + 0xa0], 0
mov dword [ebx + 0xa4], 0
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b7c66
mov dword [ebx + 0x9c], 0
jmp 0x5b7c73
lea edi, [ebx + 0x9c]
xor eax, eax
call fcn.0045e950
mov dword [ebx + 0xac], 0
mov dword [ebx + 0xb0], 0
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b7c9d
mov dword [ebx + 0xa8], 0
jmp 0x5b7caa
lea edi, [ebx + 0xa8]
xor eax, eax
call fcn.0045e950
mov dword [ebx + 0xb8], 0
mov dword [ebx + 0xbc], 0
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b7cd4
mov dword [ebx + 0xb4], 0
jmp 0x5b7ce1
lea edi, [ebx + 0xb4]
xor eax, eax
call fcn.0045e950
mov dword [ebx + 0xc4], 0
mov dword [ebx + 0xc8], 0
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b7d0b
mov dword [ebx + 0xc0], 0
jmp 0x5b7d18
lea edi, [ebx + 0xc0]
xor eax, eax
call fcn.0045e950
nop
mov byte [ebx + 0xf8], 0
inc dword [ebx + 0xf4]
mov ecx, dword [ebx + 0xe8]
mov edx, dword [ebx + 0xe4]
mov eax, dword [ebx + 0xf0]
cmp eax, ecx
jae 0x5b8889
lea eax, [eax + eax*8]
lea eax, [edx + eax*8]
cmp dword [eax], 2
sete al
mov byte [ebx + 0xdd], al
inc dword [ebx + 0xf0]
mov byte [esp + 0x574], 1
add esp, 0x564
ret
cmp ebp, 0xa
jne 0x5b8037
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0x18]
mov ebp, dword [eax + 0x10]
mov eax, ebx
mov ebx, dword [esp + 0x568]
mov dword [ebx + 0x120], 0xe
lea edi, [esp + 0x344]
lea esi, [0x68cc38]
call fcn.0045ef3c
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x348], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x34c], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x350], ecx
mov dword [esp + 0x354], ebp
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x358], ecx
mov dword [esp + 0x35c], edx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x3ac], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x3b0], ecx
mov dword [esp + 0x3b4], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x3b8], ecx
movzx ecx, byte [esp + 0x23]
mov byte [esp + 0x3c8], cl
mov edi, dword [esp + 0x56c]
test byte [edi], al
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b7e5c
lea esi, [esp + 0x344]
call fcn.0045ef3c
jmp 0x5b7e80
lea eax, [0x624180]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x344]
mov dword [esp + 8], eax
call fcn.0040ff10
mov ebx, dword [esp + 0x568]
nop
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebx + 0x94]
mov edx, dword [ebx + 0x98]
mov ebp, dword [esp + 0x56c]
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x38], edx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b7eaf
mov dword [ebp + 0x30], eax
jmp 0x5b7eb7
lea edi, [ebp + 0x30]
call fcn.0045e950
mov eax, dword [ebx + 0x9c]
mov ecx, dword [ebx + 0xa0]
mov edx, dword [ebx + 0xa4]
mov dword [ebp + 0x40], ecx
mov dword [ebp + 0x44], edx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b7ede
mov dword [ebp + 0x3c], eax
jmp 0x5b7ee6
lea edi, [ebp + 0x3c]
call fcn.0045e950
mov eax, dword [ebx + 0xa8]
mov ecx, dword [ebx + 0xac]
mov edx, dword [ebx + 0xb0]
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], edx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b7f0d
mov dword [ebp + 0x48], eax
jmp 0x5b7f15
lea edi, [ebp + 0x48]
call fcn.0045e950
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x98], 0
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b7f3f
mov dword [ebx + 0x90], 0
jmp 0x5b7f4c
lea edi, [ebx + 0x90]
xor eax, eax
call fcn.0045e950
mov dword [ebx + 0xa0], 0
mov dword [ebx + 0xa4], 0
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b7f76
mov dword [ebx + 0x9c], 0
jmp 0x5b7f83
lea edi, [ebx + 0x9c]
xor eax, eax
call fcn.0045e950
mov dword [ebx + 0xac], 0
mov dword [ebx + 0xb0], 0
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b7fad
mov dword [ebx + 0xa8], 0
jmp 0x5b7fba
lea edi, [ebx + 0xa8]
xor eax, eax
call fcn.0045e950
mov dword [ebx + 0xb8], 0
mov dword [ebx + 0xbc], 0
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b7fe4
mov dword [ebx + 0xb4], 0
jmp 0x5b7ff1
lea edi, [ebx + 0xb4]
xor eax, eax
call fcn.0045e950
mov dword [ebx + 0xc4], 0
mov dword [ebx + 0xc8], 0
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b801b
mov dword [ebx + 0xc0], 0
jmp 0x5b8028
lea edi, [ebx + 0xc0]
xor eax, eax
call fcn.0045e950
mov byte [esp + 0x574], 1
add esp, 0x564
ret
cmp ebp, 0xc
jne 0x5b8307
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0x18]
mov ebp, dword [eax + 0x10]
mov eax, ebx
mov ebx, dword [esp + 0x568]
mov dword [ebx + 0x120], 0x13
lea edi, [esp + 0x2bc]
lea esi, [0x68ccc0]
call fcn.0045ef3c
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x2c0], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x2c4], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x2c8], ecx
mov dword [esp + 0x2cc], ebp
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x2d0], ecx
mov dword [esp + 0x2d4], edx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x31c], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x320], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x324], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x328], ecx
mov dword [esp + 0x32c], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x330], ecx
movzx ecx, byte [esp + 0x23]
mov byte [esp + 0x340], cl
mov edi, dword [esp + 0x56c]
test byte [edi], al
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b812c
lea esi, [esp + 0x2bc]
call fcn.0045ef3c
jmp 0x5b8150
lea eax, [0x624180]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x2bc]
mov dword [esp + 8], eax
call fcn.0040ff10
mov ebx, dword [esp + 0x568]
nop
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebx + 0x94]
mov edx, dword [ebx + 0x98]
mov ebp, dword [esp + 0x56c]
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x38], edx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b817f
mov dword [ebp + 0x30], eax
jmp 0x5b8187
lea edi, [ebp + 0x30]
call fcn.0045e950
mov eax, dword [ebx + 0x9c]
mov ecx, dword [ebx + 0xa0]
mov edx, dword [ebx + 0xa4]
mov dword [ebp + 0x40], ecx
mov dword [ebp + 0x44], edx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b81ae
mov dword [ebp + 0x3c], eax
jmp 0x5b81b6
lea edi, [ebp + 0x3c]
call fcn.0045e950
mov eax, dword [ebx + 0xa8]
mov ecx, dword [ebx + 0xac]
mov edx, dword [ebx + 0xb0]
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], edx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b81dd
mov dword [ebp + 0x48], eax
jmp 0x5b81e5
lea edi, [ebp + 0x48]
call fcn.0045e950
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x98], 0
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b820f
mov dword [ebx + 0x90], 0
jmp 0x5b821c
lea edi, [ebx + 0x90]
xor eax, eax
call fcn.0045e950
mov dword [ebx + 0xa0], 0
mov dword [ebx + 0xa4], 0
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b8246
mov dword [ebx + 0x9c], 0
jmp 0x5b8253
lea edi, [ebx + 0x9c]
xor eax, eax
call fcn.0045e950
mov dword [ebx + 0xac], 0
mov dword [ebx + 0xb0], 0
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b827d
mov dword [ebx + 0xa8], 0
jmp 0x5b828a
lea edi, [ebx + 0xa8]
xor eax, eax
call fcn.0045e950
mov dword [ebx + 0xb8], 0
mov dword [ebx + 0xbc], 0
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b82b4
mov dword [ebx + 0xb4], 0
jmp 0x5b82c1
lea edi, [ebx + 0xb4]
xor eax, eax
call fcn.0045e950
mov dword [ebx + 0xc4], 0
mov dword [ebx + 0xc8], 0
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b82eb
mov dword [ebx + 0xc0], 0
jmp 0x5b82f8
lea edi, [ebx + 0xc0]
xor eax, eax
call fcn.0045e950
mov byte [esp + 0x574], 1
add esp, 0x564
ret
movzx ebx, byte [esp + 0x570]
test bl, bl
je 0x5b864b
cmp ebp, 7
jne 0x5b84ad
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x88], ecx
mov edx, dword [eax + 0x18]
mov ebx, dword [eax + 0x10]
mov ebp, dword [esp + 0x568]
mov dword [ebp + 0x120], 8
mov eax, edi
lea edi, [esp + 0x234]
lea esi, [0x68cbb0]
call fcn.0045ef3c
mov dword [esp + 0x238], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x23c], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x240], ecx
mov dword [esp + 0x244], ebx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x248], ecx
mov dword [esp + 0x24c], edx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x294], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x298], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x29c], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x2a0], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2a4], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x2a8], ecx
movzx ecx, byte [esp + 0x23]
mov byte [esp + 0x2b8], cl
mov edi, dword [esp + 0x56c]
test byte [edi], al
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b8409
lea esi, [esp + 0x234]
call fcn.0045ef3c
jmp 0x5b842d
lea eax, [0x624180]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x234]
mov dword [esp + 8], eax
call fcn.0040ff10
mov ebp, dword [esp + 0x568]
mov eax, dword [ebp + 0xc0]
mov ecx, dword [ebp + 0xc4]
mov edx, dword [ebp + 0xc8]
test eax, eax
je 0x5b849e
mov ebx, dword [esp + 0x56c]
mov dword [ebx + 0x34], ecx
mov dword [ebx + 0x38], edx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b845f
mov dword [ebx + 0x30], eax
jmp 0x5b8467
lea edi, [ebx + 0x30]
call fcn.0045e950
mov dword [ebp + 0xc4], 0
mov dword [ebp + 0xc8], 0
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b8491
mov dword [ebp + 0xc0], 0
jmp 0x5b849e
lea edi, [ebp + 0xc0]
xor eax, eax
call fcn.0045e950
mov byte [esp + 0x574], 1
add esp, 0x564
ret
test bl, bl
je 0x5b864b
cmp ebp, 8
jne 0x5b864b
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x88], ecx
mov edx, dword [eax + 0x18]
mov ebx, dword [eax + 0x10]
mov ebp, dword [esp + 0x568]
mov dword [ebp + 0x120], 0xb
mov eax, edi
lea edi, [esp + 0x1ac]
lea esi, [0x68cd48]
call fcn.0045ef3c
mov dword [esp + 0x1b0], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x1b4], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x1bc], ebx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1c4], edx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x210], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x214], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x218], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x21c], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x220], ecx
movzx ecx, byte [esp + 0x23]
mov byte [esp + 0x230], cl
mov edi, dword [esp + 0x56c]
test byte [edi], al
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b85a7
lea esi, [esp + 0x1ac]
call fcn.0045ef3c
jmp 0x5b85cb
lea eax, [0x624180]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1ac]
mov dword [esp + 8], eax
call fcn.0040ff10
mov ebp, dword [esp + 0x568]
mov eax, dword [ebp + 0xc0]
mov ecx, dword [ebp + 0xc4]
mov edx, dword [ebp + 0xc8]
test eax, eax
je 0x5b863c
mov ebx, dword [esp + 0x56c]
mov dword [ebx + 0x34], ecx
mov dword [ebx + 0x38], edx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b85fd
mov dword [ebx + 0x30], eax
jmp 0x5b8605
lea edi, [ebx + 0x30]
call fcn.0045e950
mov dword [ebp + 0xc4], 0
mov dword [ebp + 0xc8], 0
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b862f
mov dword [ebp + 0xc0], 0
jmp 0x5b863c
lea edi, [ebp + 0xc0]
xor eax, eax
call fcn.0045e950
mov byte [esp + 0x574], 1
add esp, 0x564
ret
mov ebp, dword [esp + 0x58]
test ebp, ebp
jne 0x5b8663
mov ebp, dword [esp + 0x3c]
test ebp, ebp
je 0x5b87ab
mov ebp, dword [esp + 0x58]
mov ebx, dword [esp + 0x568]
mov ebp, dword [ebx + 0x128]
mov ebx, dword [ebx + 0x124]
mov dword [esp + 0x118], ebx
lea ebx, [ebp - 1]
cmp ebp, ebx
jbe 0x5b8880
mov ebx, dword [esp + 0x118]
mov ebx, dword [ebx + ebp*4 - 4]
mov ebp, dword [esp + 0x568]
mov dword [ebp + 0x120], ebx
mov ebx, dword [ebp + 0x12c]
mov eax, dword [ebp + 0x128]
dec eax
cmp ebx, eax
jb 0x5b8877
mov dword [ebp + 0x128], eax
mov eax, edi
lea edi, [esp + 0x124]
mov ebx, esi
lea esi, [0x68cdd0]
call fcn.0045ef3c
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ebx
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], edx
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x198], eax
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x1a8], al
mov edi, dword [esp + 0x56c]
test byte [edi], al
mov eax, dword [0x7e77b0]
test eax, eax
jne 0x5b877f
lea esi, [esp + 0x124]
call fcn.0045ef3c
jmp 0x5b879c
lea eax, [0x624180]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x124]
mov dword [esp + 8], eax
call fcn.0040ff10
mov byte [esp + 0x574], 1
add esp, 0x564
ret
test bl, bl
je 0x5b87bc
lea ecx, [0x6372e9]
mov edx, 0x1a
jmp 0x5b87c7
lea ecx, [0x636aca]
mov edx, 0x19
nop
mov ebx, dword [eax + 8]
mov ebp, dword [eax + 0xc]
mov dword [esp + 0x90], ebp
mov ebp, dword [eax + 4]
mov eax, ebx
mov ebx, dword [esp + 0x568]
mov dword [ebx], 4
mov dword [ebx + 0x24], edx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b87f9
mov dword [ebx + 0x20], ecx
jmp 0x5b881a
mov dword [esp + 0x84], eax
lea edx, [ebx + 0x20]
mov edi, edx
mov eax, ecx
call fcn.0045e950
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x88]
mov dword [ebx + 0x28], edi
mov dword [ebx + 0x2c], esi
mov ecx, dword [esp + 0x8c]
mov dword [ebx + 0x30], ecx
mov dword [ebx + 8], 0x22
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b8846
lea ecx, [0x63a8e8]
mov dword [ebx + 4], ecx
jmp 0x5b8858
lea edi, [ebx + 4]
mov ecx, eax
lea eax, [0x63a8e8]
call fcn.0045e950
mov eax, ecx
mov dword [ebx + 0x14], ebp
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x90]
mov dword [ebx + 0x1c], eax
mov byte [esp + 0x574], 0
add esp, 0x564
ret
mov ecx, eax
mov edx, ebx
call fcn.0045ea10
mov eax, ebx
mov ecx, ebp
call fcn.0045e9d0
call fcn.0045e9d0
mov ecx, ebp
mov edx, ebx
call fcn.0045ea10
mov eax, ebx
mov ecx, ebp
call fcn.0045e9d0
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x3c]
jmp 0x5b781e
mov ebp, dword [esp + 0x48]
inc ebp
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0x568]
mov ebp, dword [esp + 0x48]
cmp ebp, ebx
jge 0x5b8ae4
mov ebx, dword [esp + 0x568]
mov ebp, dword [ebx + 0x13c]
mov dword [esp + 0x114], ebp
mov ebx, dword [ebx + 0x140]
mov ebp, dword [esp + 0x48]
cmp ebp, ebx
jae 0x5b8bae
lea ebx, [ebp + ebp*2]
mov dword [esp + 0x80], ebx
mov ebp, dword [esp + 0x114]
lea ebx, [ebp + ebx*8]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x80]
lea ebp, [ebp + ebx*8]
mov ebp, dword [ebp]
mov dword [esp + 0x110], ebp
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x60]
cmp ebx, ebp
je 0x5b8938
xor ebp, ebp
jmp 0x5b897e
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004025c0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x88]
mov ebp, eax
mov eax, dword [esp + 0xfc]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b88ad
mov ebx, dword [esp + 0x568]
mov ebp, dword [ebx + 0x13c]
mov edx, dword [ebx + 0x140]
mov esi, dword [esp + 0x48]
cmp esi, edx
jae 0x5b8ba5
mov edx, dword [esp + 0x80]
lea esi, [ebp + edx*8]
mov esi, dword [esi + 0x10]
mov dword [esp + 0x3c], esi
lea edx, [ebp + edx*8 + 0xc]
mov edx, dword [edx]
test esi, esi
ja 0x5b89d2
xor ebp, ebp
xor ebp, ebp
mov dword [esp + 0x108], ebp
xor ebp, ebp
jmp 0x5b8a1f
mov dword [esp + 0x120], edx
lea eax, [0x607140]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], esi
call fcn.00447740
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x120]
mov esi, dword [esp + 0x3c]
mov ebp, ecx
mov dword [esp + 0x108], eax
mov dword [esp + 0x40], ebp
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.0045f270
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + eax]
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jb 0x5b8a5d
mov ebp, dword [esp + 0x108]
jmp 0x5b8a96
lea eax, [0x607140]
mov dword [esp], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00447740
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
mov ebx, ebp
mov ebp, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x108], ebp
add ecx, ebp
mov dword [esp], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045f270
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x88]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x40]
jmp 0x5b8af3
xor ebx, ebx
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x108], ebx
xor ebx, ebx
test ebx, ebx
jne 0x5b8b96
mov ecx, dword [esp + 0x568]
mov dword [ecx], 4
mov dword [ecx + 0x24], 0x14
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b8b24
lea edx, [0x633e96]
mov dword [ecx + 0x20], edx
jmp 0x5b8b38
lea edx, [ecx + 0x20]
lea eax, [0x633e96]
mov ebx, edi
mov edi, edx
call fcn.0045e950
mov edi, ebx
mov dword [ecx + 0x28], edi
mov dword [ecx + 0x2c], esi
mov edx, dword [esp + 0x8c]
mov dword [ecx + 0x30], edx
mov dword [ecx + 8], 0x1a
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b8b64
lea eax, [0x636ff7]
mov dword [ecx + 4], eax
jmp 0x5b8b72
lea edi, [ecx + 4]
lea eax, [0x636ff7]
call fcn.0045e950
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x1c], eax
mov byte [esp + 0x574], 0
add esp, 0x564
ret
mov dword [esp + 0x3c], ebx
mov ebx, ebp
mov ebp, dword [esp + 0x50]
jmp 0x5b88a0
mov eax, esi
mov ecx, edx
call fcn.0045e9d0
mov eax, ebp
mov ecx, ebx
call fcn.0045e9d0
mov eax, edi
mov ecx, ebp
call fcn.0045e9d0
mov eax, ebx
mov ecx, edi
call fcn.0045e9d0
mov eax, esi
mov ecx, ebx
call fcn.0045e9d0
mov eax, esi
mov ecx, edx
call fcn.0045e9d0
nop
call fcn.0045d540
jmp fcn.005b6e30