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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x795086
mov eax, dword fs:[0]
push eax
sub esp, 0x370
mov eax, dword [0x856918]
xor eax, esp
mov dword [esp + 0x368], eax
push ebx
push esi
push edi
mov eax, dword [0x856918]
xor eax, esp
push eax
lea eax, [esp + 0x380]
mov dword fs:[0], eax
xor edx, edx
mov dword [esp + 0x54], ecx
cmp dword [ecx + 0x3c], edx
jne 0x5a2d2a
mov eax, 0xf
mov dword [esp + 0xc0], eax
mov dword [esp + 0xbc], edx
mov byte [esp + 0xac], dl
mov dword [esp + 0x388], edx
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], edx
mov byte [esp + 0x90], dl
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], edx
mov byte [esp + 0xc8], dl
lea eax, [ecx + 4]
movzx ecx, byte [ecx + 0x44]
push ecx
push edx
mov byte [esp + 0x33], dl
lea edx, [esp + 0x33]
push edx
lea ecx, [esp + 0xd0]
push ecx
lea edx, [esp + 0x9c]
push edx
lea ecx, [esp + 0xbc]
push ecx
push 1
push eax
mov byte [esp + 0x3a8], 2
call fcn.0059dd90
mov edx, dword [0x86aac0]
mov eax, dword [edx]
mov esi, dword [0x86aaa8]
mov edi, eax
add esp, 0x20
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
nop
mov ebx, dword [0x86aac0]
test esi, esi
je 0x5a12c2
cmp esi, dword [0x86aaa8]
je 0x5a12c7
call fcn.00565471
cmp edi, ebx
je 0x5a2d31
test esi, esi
jne 0x5a1314
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x5a12e4
call fcn.00565471
cmp dword [edi + 0x148], 0
jne 0x5a15c0
test esi, esi
jne 0x5a1318
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x5a1306
call fcn.00565471
cmp dword [edi + 0x24], 0x10
mov ecx, dword [edi + 0x20]
jb 0x5a131c
mov eax, dword [edi + 0x10]
jmp 0x5a131f
mov eax, dword [esi]
jmp 0x5a12da
mov eax, dword [esi]
jmp 0x5a12fc
lea eax, [edi + 0x10]
push ecx
push eax
mov eax, dword [esp + 0xc4]
push eax
push 0
lea ecx, [esp + 0xb8]
call fcn.00408076
test eax, eax
je 0x5a1b9c
test esi, esi
jne 0x5a1475
call fcn.00565471
cmp edi, dword [esi + 0x18]
jne 0x5a1356
call fcn.00565471
cmp byte [edi + 0x185], 0
je 0x5a2083
lea ecx, [esp + 0x2c]
call fcn.004046bf
cmp dword [esp + 0xc0], 0x10
mov eax, dword [esp + 0xac]
mov byte [esp + 0x388], 3
jae 0x5a138c
lea eax, [esp + 0xac]
mov ecx, dword [esp + 0xbc]
push 0x2e
push ecx
push eax
lea edx, [esp + 0x7c]
push edx
call fcn.005b6a20
add esp, 0x10
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x38c], 4
call fcn.00404926
lea ecx, [esp + 0x70]
call fcn.00407112
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov ecx, esi
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [esp + 0x13], 0
je 0x5a15aa
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], 0
mov byte [esp + 0x74], 0
mov byte [esp + 0x388], 5
mov ebx, esi
cmp edi, esi
jbe 0x5a141f
call fcn.00565471
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ebx
cmp edi, esi
jbe 0x5a1434
call fcn.00565471
mov eax, dword [esp + 0x44]
test eax, eax
je 0x5a1442
cmp eax, dword [esp + 0x2c]
je 0x5a1447
call fcn.00565471
cmp ebx, edi
je 0x5a1593
cmp dword [esp + 0x84], 0
lea ecx, [esp + 0x44]
jne 0x5a147c
call fcn.0059ca80
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x7c]
call fcn.00403fb2
jmp 0x5a1510
mov esi, dword [esi]
jmp 0x5a134c
call fcn.0059ca80
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xec]
mov dword [esp + 0x104], 0xf
mov dword [esp + 0x100], 0
mov byte [esp + 0xf0], 0
call fcn.00403fb2
push 0x2e
push 1
lea ecx, [esp + 0xe8]
mov byte [esp + 0x390], 6
call fcn.0040323d
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x78]
push edx
lea ecx, [esp + 0xec]
call fcn.00401e38
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0xe4]
call fcn.00404bec
cmp dword [esp + 0xf8], 0x10
mov byte [esp + 0x388], 5
jb 0x5a1510
mov ecx, dword [esp + 0xe4]
push ecx
call fcn.00564155
add esp, 4
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5a153e
call fcn.00565471
xor eax, eax
mov esi, dword [esp + 0x18]
cmp esi, dword [eax + 0x18]
jne 0x5a152d
call fcn.00565471
cmp dword [esi + 0x24], 0x10
mov ecx, dword [esi + 0x20]
lea eax, [esi + 0xc]
jb 0x5a1542
mov eax, dword [eax + 4]
jmp 0x5a1545
mov eax, dword [eax]
jmp 0x5a151f
add eax, 4
mov edx, dword [esp + 0x84]
push ecx
push eax
push edx
push 0
lea ecx, [esp + 0x80]
call fcn.00408076
test eax, eax
je 0x5a158e
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x5a158a
call fcn.00565471
xor eax, eax
cmp ebx, dword [eax + 0xc]
ja 0x5a157a
call fcn.00565471
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
sub ebx, 0x1c
jmp 0x5a1427
mov eax, dword [eax]
jmp 0x5a1570
mov byte [esp + 0x13], 1
cmp dword [esp + 0x88], 0x10
jb 0x5a15aa
mov eax, dword [esp + 0x74]
push eax
call fcn.00564155
add esp, 4
lea ecx, [esp + 0x2c]
mov byte [esp + 0x388], 2
call fcn.00407112
jmp 0x5a1b91
test esi, esi
jne 0x5a1609
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x5a15d5
call fcn.00565471
mov ebx, dword [edi + 0x20]
lea eax, [edi + 0xc]
mov dword [esp + 0x24], eax
test esi, esi
jne 0x5a160d
call fcn.00565471
mov eax, dword [esp + 0x24]
cmp edi, dword [esi + 0x18]
jne 0x5a15fa
call fcn.00565471
mov eax, dword [esp + 0x24]
mov ecx, 0x10
cmp dword [eax + 0x18], ecx
jb 0x5a1611
mov eax, dword [eax + 4]
jmp 0x5a1614
mov eax, dword [esi]
jmp 0x5a15cb
mov esi, dword [esi]
jmp 0x5a15ec
add eax, 4
cmp dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xac]
jae 0x5a162b
lea ecx, [esp + 0xac]
push ebx
push eax
push ecx
call fcn.0056748b
add esp, 0xc
test eax, eax
jne 0x5a2083
mov ebx, dword [esp + 0x14]
test ebx, ebx
jne 0x5a17d5
call fcn.00565471
xor eax, eax
mov edi, dword [esp + 0x18]
cmp edi, dword [eax + 0x18]
jne 0x5a165f
call fcn.00565471
mov eax, dword [edi + 0x144]
mov ecx, dword [eax]
mov esi, dword [edi + 0x12c]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], esi
test ebx, ebx
jne 0x5a17dc
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x5a168e
call fcn.00565471
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 0x138]
mov eax, dword [eax + 0x120]
test esi, esi
je 0x5a16a6
cmp esi, eax
je 0x5a16ab
call fcn.00565471
cmp dword [esp + 0x5c], edi
je 0x5a1814
test ebx, ebx
jne 0x5a17e3
call fcn.00565471
xor eax, eax
mov edx, dword [esp + 0x18]
cmp edx, dword [eax + 0x18]
jne 0x5a16d2
call fcn.00565471
mov eax, dword [esp + 0x24]
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x7c]
mov dword [esp + 0x94], 0xf
mov dword [esp + 0x90], 0
mov byte [esp + 0x80], 0
call fcn.00403fb2
push 0x2e
push 1
lea ecx, [esp + 0x78]
mov byte [esp + 0x390], 7
call fcn.0040323d
test esi, esi
jne 0x5a17ea
call fcn.00565471
mov edi, dword [esp + 0x5c]
cmp edi, dword [esi + 0x18]
jne 0x5a1732
call fcn.00565471
push 0xffffffffffffffff
lea eax, [edi + 0xc]
push 0
push eax
lea ecx, [esp + 0x7c]
call fcn.00401e38
cmp dword [esp + 0xc0], 0x10
mov edx, dword [esp + 0xac]
jae 0x5a175b
lea edx, [esp + 0xac]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0xbc]
mov ecx, esi
cmp esi, edi
jb 0x5a1771
mov ecx, edi
mov ebx, dword [esp + 0x88]
mov eax, dword [esp + 0x74]
cmp ebx, 0x10
jae 0x5a1785
lea eax, [esp + 0x74]
push ecx
push edx
push eax
call fcn.004060b9
add esp, 0xc
test eax, eax
jne 0x5a17a1
cmp esi, edi
jb 0x5a17a1
cmp esi, edi
setne al
test eax, eax
je 0x5a17f1
mov byte [esp + 0x388], 2
cmp ebx, 0x10
jb 0x5a17bb
mov ecx, dword [esp + 0x74]
push ecx
call fcn.00564155
add esp, 4
lea ecx, [esp + 0x58]
call fcn.00596d90
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
jmp 0x5a1675
mov eax, dword [ebx]
jmp 0x5a1651
mov eax, dword [ebx]
jmp 0x5a1684
mov eax, dword [ebx]
jmp 0x5a16c4
mov esi, dword [esi]
jmp 0x5a1724
mov byte [esp + 0x388], 2
cmp ebx, 0x10
jb 0x5a1b9c
mov edx, dword [esp + 0x74]
push edx
call fcn.00564155
add esp, 4
jmp 0x5a1b9c
test ebx, ebx
jne 0x5a1a8e
call fcn.00565471
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp ecx, dword [eax + 0x18]
jne 0x5a1831
call fcn.00565471
mov edx, dword [esp + 0x18]
cmp byte [edx + 0x184], 0
je 0x5a2083
lea ecx, [esp + 0x2c]
call fcn.004046bf
cmp dword [esp + 0xc0], 0x10
mov eax, dword [esp + 0xac]
mov byte [esp + 0x388], 8
jae 0x5a186b
lea eax, [esp + 0xac]
mov ecx, dword [esp + 0xbc]
push 0x2e
push ecx
push eax
lea edx, [esp + 0x7c]
push edx
call fcn.005b6a20
add esp, 0x10
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x38c], 9
call fcn.00404926
mov eax, dword [esp + 0x7c]
xor esi, esi
cmp eax, esi
je 0x5a18c7
mov ecx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x84]
lea edx, [esp + 0x7c]
push edx
push ecx
push eax
call fcn.004023dd
mov edx, dword [esp + 0x8c]
push edx
call fcn.00564155
add esp, 0x14
mov eax, dword [esp + 0x70]
push eax
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
call fcn.00564155
mov ecx, dword [esp + 0x40]
sub ecx, dword [esp + 0x3c]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add esp, 4
add eax, edx
mov byte [esp + 0x13], 1
je 0x5a1b41
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], 0
mov byte [esp + 0x74], 0
mov byte [esp + 0x388], 0xa
cmp eax, 2
jb 0x5a19b7
lea esi, [eax - 2]
cmp esi, eax
jb 0x5a1947
call fcn.00565471
mov edx, dword [esp + 0x38]
lea ecx, [esi*8]
sub ecx, esi
push 0xffffffffffffffff
lea eax, [edx + ecx*4]
push 0
push eax
lea ecx, [esp + 0x7c]
call fcn.00403fb2
push 0x2e
push 1
lea ecx, [esp + 0x78]
call fcn.0040323d
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x38]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea esi, [eax - 1]
cmp esi, eax
jb 0x5a1999
call fcn.00565471
mov ecx, dword [esp + 0x38]
lea eax, [esi*8]
push 0xffffffffffffffff
sub eax, esi
lea eax, [ecx + eax*4]
push 0
push eax
lea ecx, [esp + 0x7c]
call fcn.00401e38
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5a1a95
call fcn.00565471
xor eax, eax
mov edx, dword [esp + 0x18]
cmp edx, dword [eax + 0x18]
jne 0x5a19d8
call fcn.00565471
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x144]
mov edi, dword [eax]
mov ebx, dword [esi + 0x12c]
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5a1a9c
call fcn.00565471
xor eax, eax
cmp esi, dword [eax + 0x18]
jne 0x5a1a0f
call fcn.00565471
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 0x138]
mov eax, dword [eax + 0x120]
test ebx, ebx
je 0x5a1a27
cmp ebx, eax
je 0x5a1a2c
call fcn.00565471
cmp edi, esi
je 0x5a1b2a
test ebx, ebx
jne 0x5a1aa3
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x5a1a49
call fcn.00565471
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x38]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea esi, [eax - 1]
cmp esi, eax
jb 0x5a1a70
call fcn.00565471
mov ecx, dword [esp + 0x38]
mov edx, dword [edi + 0x20]
lea eax, [esi*8]
sub eax, esi
cmp dword [edi + 0x24], 0x10
lea ecx, [ecx + eax*4]
jb 0x5a1aa7
mov eax, dword [edi + 0x10]
jmp 0x5a1aaa
mov eax, dword [ebx]
jmp 0x5a1823
mov eax, dword [eax]
jmp 0x5a19ca
mov eax, dword [eax]
jmp 0x5a1a05
mov eax, dword [ebx]
jmp 0x5a1a3f
lea eax, [edi + 0x10]
push edx
mov edx, dword [ecx + 0x14]
push eax
push edx
push 0
call fcn.00408076
test eax, eax
je 0x5a1b25
cmp dword [esp + 0x84], 0
je 0x5a1b0b
test ebx, ebx
jne 0x5a1ae8
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x5a1ada
call fcn.00565471
cmp dword [edi + 0x24], 0x10
mov ecx, dword [edi + 0x20]
jb 0x5a1aec
mov eax, dword [edi + 0x10]
jmp 0x5a1aef
mov eax, dword [ebx]
jmp 0x5a1ad0
lea eax, [edi + 0x10]
push ecx
push eax
mov eax, dword [esp + 0x8c]
push eax
push 0
lea ecx, [esp + 0x80]
call fcn.00408076
test eax, eax
je 0x5a1b25
lea ecx, [esp + 0x4c]
call fcn.00596d90
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x18]
jmp 0x5a19f2
mov byte [esp + 0x13], 0
cmp dword [esp + 0x88], 0x10
jb 0x5a1b41
mov ecx, dword [esp + 0x74]
push ecx
call fcn.00564155
add esp, 4
cmp dword [esp + 0x38], 0
mov byte [esp + 0x388], 2
je 0x5a1b76
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x38]
push eax
push ecx
push edx
call fcn.004023dd
mov eax, dword [esp + 0x48]
push eax
call fcn.00564155
add esp, 0x14
mov ecx, dword [esp + 0x2c]
xor eax, eax
push ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
call fcn.00564155
add esp, 4
cmp byte [esp + 0x13], 0
je 0x5a2083
mov eax, dword [esp + 0x14]
mov byte [esp + 0x13], 0
test eax, eax
jne 0x5a1bfe
call fcn.00565471
xor eax, eax
mov ebx, dword [esp + 0x18]
cmp ebx, dword [eax + 0x18]
jne 0x5a1bbe
call fcn.00565471
cmp dword [esp + 0xa4], 0x10
mov edx, dword [esp + 0x90]
jae 0x5a1bd6
lea edx, [esp + 0x90]
mov esi, dword [ebx + 0x90]
mov edi, dword [esp + 0xa0]
add ebx, 0xc
mov eax, esi
mov ecx, esi
cmp esi, edi
jb 0x5a1bf0
mov ecx, edi
cmp dword [ebx + 0x88], 0x10
jb 0x5a1c02
mov eax, dword [ebx + 0x74]
jmp 0x5a1c05
mov eax, dword [eax]
jmp 0x5a1bb0
lea eax, [ebx + 0x74]
push ecx
push edx
push eax
call fcn.004060b9
add esp, 0xc
test eax, eax
jne 0x5a1c2b
cmp esi, edi
jb 0x5a1c2b
cmp esi, edi
setne al
test eax, eax
jne 0x5a1c2b
mov byte [esp + 0x13], 1
jmp 0x5a1caf
mov esi, dword [esp + 0x14]
test esi, esi
jne 0x5a1d8a
call fcn.00565471
xor eax, eax
mov edx, dword [esp + 0x18]
cmp edx, dword [eax + 0x18]
jne 0x5a1c4c
call fcn.00565471
mov eax, dword [ebx + 0x158]
mov edi, dword [ebx + 0x140]
mov dword [esp + 0x64], eax
test esi, esi
jne 0x5a1d91
call fcn.00565471
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp ecx, dword [eax + 0x18]
jne 0x5a1c79
call fcn.00565471
lea edx, [esp + 0x8c]
push edx
lea eax, [esp + 0x6c]
push eax
lea ecx, [ebx + 0x140]
call fcn.00597890
mov esi, eax
mov eax, dword [esi]
test eax, eax
je 0x5a1c9d
cmp eax, edi
je 0x5a1ca2
call fcn.00565471
mov ecx, dword [esp + 0x64]
cmp dword [esi + 4], ecx
jne 0x5a2b5b
lea ecx, [esp + 0xfc]
call fcn.005a0290
mov eax, dword [esp + 0x14]
xor edi, edi
mov byte [esp + 0x388], 0xb
cmp eax, edi
jne 0x5a1d98
call fcn.00565471
xor eax, eax
mov edx, dword [esp + 0x18]
cmp edx, dword [eax + 0x18]
jne 0x5a1ce6
call fcn.00565471
mov eax, dword [esp + 0x18]
add eax, 0x28
push eax
lea ecx, [esp + 0x204]
call fcn.005a03a0
mov cl, byte [esp + 0x2b]
mov esi, dword [esp + 0x54]
push 0xffffffffffffffff
push edi
lea eax, [esi + 4]
mov byte [esp + 0x104], cl
push eax
lea ecx, [esp + 0x10c]
call fcn.00403fb2
push 0xffffffffffffffff
push edi
lea edx, [esp + 0xb0]
push edx
lea ecx, [esp + 0x128]
call fcn.00403fb2
push 0xffffffffffffffff
push edi
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x144]
call fcn.00403fb2
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0xcc]
push ecx
lea ecx, [esp + 0x160]
call fcn.00403fb2
push 0xffffffffffffffff
push edi
add esi, 0x20
push esi
lea ecx, [esp + 0x1b4]
call fcn.00403fb2
push 4
call fcn.005645f4
add esp, 4
cmp eax, edi
je 0x5a1d9f
lea edx, [esp + 0x2c]
mov dword [eax], edx
jmp 0x5a1da1
mov eax, dword [esi]
jmp 0x5a1c3e
mov eax, dword [esi]
jmp 0x5a1c6b
mov eax, dword [eax]
jmp 0x5a1cd8
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov eax, dword [esp + 0xc8]
mov esi, 0x10
mov byte [esp + 0x388], 0xd
cmp dword [esp + 0xdc], esi
jae 0x5a1dd5
lea eax, [esp + 0xc8]
mov ecx, dword [esp + 0xd8]
push 0x26
push ecx
push eax
lea edx, [esp + 0x7c]
push edx
call fcn.005b6a20
add esp, 0x10
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x38c], 0xe
call fcn.00404926
mov eax, dword [esp + 0x7c]
mov byte [esp + 0x388], 0xd
cmp eax, edi
je 0x5a1e37
mov ecx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x84]
lea edx, [esp + 0x7c]
push edx
push ecx
push eax
call fcn.004023dd
mov edx, dword [esp + 0x8c]
push edx
call fcn.00564155
add esp, 0x14
mov eax, dword [esp + 0x70]
push eax
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
call fcn.00564155
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [esp + 0x13], 0
je 0x5a2099
cmp eax, edi
jne 0x5a1f5c
call fcn.00565471
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp ecx, dword [eax + 0x18]
jne 0x5a1e85
call fcn.00565471
push 0xffffffffffffffff
lea eax, [ebx + 0x8c]
push 0
push eax
lea ecx, [esp + 0x7c]
mov dword [esp + 0x94], 0xf
mov dword [esp + 0x90], 0
mov byte [esp + 0x80], 0
call fcn.00403fb2
push 0x3d
push 1
lea ecx, [esp + 0x78]
mov byte [esp + 0x390], 0x16
call fcn.0040323d
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
cmp esi, eax
jbe 0x5a1ee1
call fcn.00565471
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
mov edi, eax
cmp dword [esp + 0x38], eax
jbe 0x5a1efa
call fcn.00565471
test ebx, ebx
je 0x5a1f04
cmp ebx, dword [esp + 0x2c]
je 0x5a1f09
call fcn.00565471
cmp esi, edi
je 0x5a2039
cmp dword [esp + 0x1d8], 0
jne 0x5a2039
cmp dword [esp + 0x88], 0x10
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x74]
jae 0x5a1f38
lea edi, [esp + 0x74]
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5a1f63
call fcn.00565471
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x5a1f51
call fcn.00565471
cmp dword [esi + 0x18], 0x10
jb 0x5a1f67
mov eax, dword [esi + 4]
jmp 0x5a1f6a
mov eax, dword [eax]
jmp 0x5a1e77
mov eax, dword [eax]
jmp 0x5a1f47
lea eax, [esi + 4]
push ebx
push edi
push eax
call fcn.0056748b
add esp, 0xc
test eax, eax
jne 0x5a1f9e
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5a1fc7
call fcn.00565471
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x5a1f92
call fcn.00565471
mov eax, dword [esi + 0x14]
cmp eax, dword [esp + 0x84]
ja 0x5a1fcf
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5a1fcb
call fcn.00565471
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x5a1fb7
call fcn.00565471
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1c]
add esi, 0x1c
jmp 0x5a1ee9
mov eax, dword [eax]
jmp 0x5a1f88
mov eax, dword [eax]
jmp 0x5a1fad
lea ecx, [esp + 0x1c]
call fcn.0059c550
mov ecx, dword [esp + 0x84]
mov eax, dword [eax + 0x14]
sub eax, ecx
push eax
push ecx
lea edx, [esp + 0xe8]
push edx
lea ecx, [esp + 0x28]
call fcn.0059c550
mov ecx, eax
call fcn.00407e50
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x394], 0x17
call fcn.00403fb2
cmp dword [esp + 0xf8], 0x10
jb 0x5a2031
mov eax, dword [esp + 0xe4]
push eax
call fcn.00564155
add esp, 4
mov byte [esp + 0xfd], 1
cmp dword [esp + 0x88], 0x10
mov byte [esp + 0x388], 0xd
jb 0x5a2058
mov ecx, dword [esp + 0x74]
push ecx
call fcn.00564155
add esp, 4
cmp byte [esp + 0xfd], 0
jne 0x5a2aa6
lea ecx, [esp + 0x2c]
call fcn.00407112
lea ecx, [esp + 0xfc]
mov byte [esp + 0x388], 2
call fcn.0059fd10
lea ecx, [esp + 0x14]
call fcn.0059c660
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
jmp 0x5a12b0
mov dword [esp + 0x24], edi
cmp eax, edi
jne 0x5a2218
call fcn.00565471
xor eax, eax
mov ebx, dword [esp + 0x18]
cmp ebx, dword [eax + 0x18]
jne 0x5a20ba
call fcn.00565471
cmp dword [ebx + 0x190], edi
jne 0x5a23f0
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
cmp edi, eax
jbe 0x5a20db
call fcn.00565471
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edi
mov ebx, dword [esp + 0x14]
mov edi, eax
cmp dword [esp + 0x38], eax
jbe 0x5a20f8
call fcn.00565471
test esi, esi
je 0x5a2102
cmp esi, dword [esp + 0x2c]
je 0x5a2107
call fcn.00565471
cmp dword [esp + 0x20], edi
je 0x5a24ad
cmp dword [esp + 0x184], 0
jne 0x5a24bb
test ebx, ebx
jne 0x5a221f
call fcn.00565471
xor eax, eax
mov edx, dword [esp + 0x18]
cmp edx, dword [eax + 0x18]
jne 0x5a213c
call fcn.00565471
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0xe8]
mov ebx, dword [eax]
mov esi, dword [edi + 0xd0]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], esi
jmp 0x5a2160
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5a2226
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x18]
jne 0x5a217d
call fcn.00565471
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0xe8]
mov eax, dword [eax + 0xd0]
test esi, esi
je 0x5a2195
cmp esi, eax
je 0x5a219a
call fcn.00565471
cmp ebx, edi
je 0x5a23a8
test esi, esi
jne 0x5a222d
call fcn.00565471
cmp ebx, dword [esi + 0x18]
jne 0x5a21b9
call fcn.00565471
push 0xffffffffffffffff
lea eax, [ebx + 0xc]
push 0
push eax
lea ecx, [esp + 0x7c]
mov dword [esp + 0x94], 0xf
mov dword [esp + 0x90], 0
mov byte [esp + 0x80], 0
call fcn.00403fb2
push 0x3d
push 1
lea ecx, [esp + 0x78]
mov byte [esp + 0x390], 0xf
call fcn.0040323d
cmp dword [esp + 0x88], 0x10
mov edi, dword [esp + 0x84]
jb 0x5a2234
mov eax, dword [esp + 0x74]
mov dword [esp + 0x44], eax
jmp 0x5a223c
mov eax, dword [eax]
jmp 0x5a20ac
mov eax, dword [ebx]
jmp 0x5a212e
mov eax, dword [eax]
jmp 0x5a2173
mov esi, dword [esi]
jmp 0x5a21af
lea ecx, [esp + 0x74]
mov dword [esp + 0x44], ecx
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jne 0x5a2264
call fcn.00565471
xor eax, eax
mov esi, dword [esp + 0x20]
cmp esi, dword [eax + 0x10]
jb 0x5a2259
call fcn.00565471
cmp dword [esi + 0x18], 0x10
jb 0x5a2268
mov eax, dword [esi + 4]
jmp 0x5a226b
mov eax, dword [ebx]
jmp 0x5a224b
lea eax, [esi + 4]
mov edx, dword [esp + 0x44]
push edi
push edx
push eax
call fcn.0056748b
add esp, 0xc
test eax, eax
je 0x5a22bb
inc dword [esp + 0x24]
cmp dword [esp + 0x88], 0x10
mov byte [esp + 0x388], 0xd
jb 0x5a22a1
mov eax, dword [esp + 0x74]
push eax
call fcn.00564155
add esp, 4
lea ecx, [esp + 0x4c]
call fcn.00596d90
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x18]
jmp 0x5a2160
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x36c], ecx
test ebx, ebx
jne 0x5a23d7
call fcn.00565471
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x5a22df
call fcn.00565471
mov esi, dword [esi + 0x14]
cmp esi, dword [esp + 0x84]
jbe 0x5a2389
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5a23de
call fcn.00565471
xor eax, eax
mov edx, dword [esp + 0x20]
cmp edx, dword [eax + 0x10]
jb 0x5a2310
call fcn.00565471
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x84]
mov ebx, edi
test eax, eax
jne 0x5a23e5
call fcn.00565471
xor eax, eax
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 0x10]
jb 0x5a2341
call fcn.00565471
mov ecx, dword [esp + 0x20]
sub esi, edi
push esi
push ebx
lea edx, [esp + 0xe8]
push edx
call fcn.00407e50
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x17c]
mov byte [esp + 0x394], 0x10
call fcn.00403fb2
cmp dword [esp + 0xf8], 0x10
jb 0x5a2389
mov eax, dword [esp + 0xe4]
push eax
call fcn.00564155
add esp, 4
cmp dword [esp + 0x88], 0x10
mov byte [esp + 0x388], 0xd
jb 0x5a23a8
mov ecx, dword [esp + 0x74]
push ecx
call fcn.00564155
add esp, 4
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5a23ec
call fcn.00565471
xor eax, eax
mov edx, dword [esp + 0x20]
cmp edx, dword [eax + 0x10]
jb 0x5a23c5
call fcn.00565471
add dword [esp + 0x20], 0x1c
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
jmp 0x5a20e7
mov eax, dword [ebx]
jmp 0x5a22d5
mov eax, dword [eax]
jmp 0x5a2302
mov eax, dword [eax]
jmp 0x5a2333
mov eax, dword [eax]
jmp 0x5a23b7
mov eax, dword [esp + 0x90]
cmp dword [esp + 0xa4], esi
jae 0x5a2407
lea eax, [esp + 0x90]
mov ecx, dword [esp + 0xa0]
push 0x2f
push ecx
push eax
lea edx, [esp + 0x7c]
push edx
call fcn.005b6a20
add esp, 0x10
mov ecx, dword [esp + 0x80]
sub ecx, dword [esp + 0x7c]
mov eax, 0x92492493
imul ecx
mov eax, dword [esp + 0x14]
add edx, ecx
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
mov byte [esp + 0x388], 0x11
test eax, eax
jne 0x5a25d1
call fcn.00565471
xor eax, eax
mov edi, dword [esp + 0x18]
cmp edi, dword [eax + 0x18]
jne 0x5a2466
call fcn.00565471
cmp esi, dword [edi + 0x190]
jbe 0x5a2498
lea ecx, [esp + 0x14]
call fcn.0059ca10
mov eax, dword [eax + 0x184]
push eax
lea ecx, [esp + 0x74]
call fcn.004044b2
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x17c]
call fcn.00403fb2
lea ecx, [esp + 0x70]
mov byte [esp + 0x388], 0xd
call fcn.00407112
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x184], 0
je 0x5a2be3
test ebx, ebx
jne 0x5a25d8
call fcn.00565471
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp ecx, dword [eax + 0x18]
jne 0x5a24d8
call fcn.00565471
mov edx, dword [esp + 0x18]
cmp dword [edx + 0xc8], 0
je 0x5a26fd
test ebx, ebx
jne 0x5a25df
call fcn.00565471
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp ecx, dword [eax + 0x18]
jne 0x5a2506
call fcn.00565471
mov eax, dword [esp + 0x18]
push 0xffffffffffffffff
add eax, 0xb4
push 0
push eax
lea ecx, [esp + 0x7c]
mov dword [esp + 0x94], 0xf
mov dword [esp + 0x90], 0
mov byte [esp + 0x80], 0
call fcn.00403fb2
push 0x3d
push 1
lea ecx, [esp + 0x78]
mov byte [esp + 0x390], 0x12
call fcn.0040323d
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
cmp edi, eax
jbe 0x5a2565
call fcn.00565471
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebx
lea ecx, [ecx]
mov esi, eax
cmp dword [esp + 0x38], eax
jbe 0x5a257d
call fcn.00565471
test ebx, ebx
je 0x5a2587
cmp ebx, dword [esp + 0x2c]
je 0x5a258c
call fcn.00565471
cmp edi, esi
je 0x5a26de
cmp dword [esp + 0x88], 0x10
mov ebx, dword [esp + 0x84]
mov esi, dword [esp + 0x74]
jae 0x5a25ad
lea esi, [esp + 0x74]
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5a25e6
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x5a25c6
call fcn.00565471
cmp dword [edi + 0x18], 0x10
jb 0x5a25ea
mov eax, dword [edi + 4]
jmp 0x5a25ed
mov eax, dword [eax]
jmp 0x5a2458
mov eax, dword [ebx]
jmp 0x5a24ca
mov eax, dword [ebx]
jmp 0x5a24f8
mov eax, dword [eax]
jmp 0x5a25bc
lea eax, [edi + 4]
push ebx
push esi
push eax
call fcn.0056748b
add esp, 0xc
test eax, eax
jne 0x5a2621
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5a264a
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x5a2615
call fcn.00565471
mov eax, dword [edi + 0x14]
cmp eax, dword [esp + 0x84]
ja 0x5a2652
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5a264e
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x5a263a
call fcn.00565471
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1c]
add edi, 0x1c
jmp 0x5a2570
mov eax, dword [eax]
jmp 0x5a260b
mov eax, dword [eax]
jmp 0x5a2630
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5a2815
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x5a266f
call fcn.00565471
mov eax, dword [esp + 0x1c]
mov esi, dword [edi + 0x14]
mov ebx, dword [esp + 0x84]
test eax, eax
jne 0x5a281c
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x5a2696
call fcn.00565471
sub esi, ebx
push esi
mov edx, ebx
push edx
lea eax, [esp + 0xe8]
push eax
mov ecx, edi
call fcn.00407e50
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x394], 0x13
call fcn.00403fb2
cmp dword [esp + 0xf8], 0x10
jb 0x5a26de
mov ecx, dword [esp + 0xe4]
push ecx
call fcn.00564155
add esp, 4
cmp dword [esp + 0x88], 0x10
mov byte [esp + 0x388], 0xd
jb 0x5a26fd
mov edx, dword [esp + 0x74]
push edx
call fcn.00564155
add esp, 4
mov edi, dword [esp + 0x14]
xor ebx, ebx
cmp edi, ebx
jne 0x5a2823
call fcn.00565471
xor eax, eax
mov esi, dword [esp + 0x18]
cmp esi, dword [eax + 0x18]
jne 0x5a2720
call fcn.00565471
cmp byte [esi + 0x186], 0
jne 0x5a2ae1
mov dword [esp + 0x24], ebx
cmp edi, ebx
jne 0x5a282a
call fcn.00565471
xor eax, eax
cmp esi, dword [eax + 0x18]
jne 0x5a274a
call fcn.00565471
push 0xffffffffffffffff
lea eax, [esi + 0xf0]
push ebx
push eax
lea ecx, [esp + 0x7c]
mov dword [esp + 0x94], 0xf
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], 0
call fcn.00403fb2
push 0x3d
push 1
lea ecx, [esp + 0x78]
mov byte [esp + 0x390], 0x14
call fcn.0040323d
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
cmp edi, eax
jbe 0x5a27a1
call fcn.00565471
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x4c], esi
lea esp, [esp]
mov ebx, eax
cmp dword [esp + 0x38], eax
jbe 0x5a27bd
call fcn.00565471
test esi, esi
je 0x5a27c7
cmp esi, dword [esp + 0x2c]
je 0x5a27cc
call fcn.00565471
cmp edi, ebx
je 0x5a2a87
cmp dword [esp + 0x88], 0x10
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x44], eax
jae 0x5a27f1
lea ebx, [esp + 0x74]
mov esi, dword [esp + 0x4c]
test esi, esi
jne 0x5a2831
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x5a280a
call fcn.00565471
cmp dword [edi + 0x18], 0x10
jb 0x5a2835
mov eax, dword [edi + 4]
jmp 0x5a2838
mov eax, dword [eax]
jmp 0x5a2665
mov eax, dword [eax]
jmp 0x5a268c
mov eax, dword [edi]
jmp 0x5a2712
mov eax, dword [edi]
jmp 0x5a2740
mov eax, dword [esi]
jmp 0x5a2800
lea eax, [edi + 4]
mov ecx, dword [esp + 0x44]
push ecx
push ebx
push eax
call fcn.0056748b
add esp, 0xc
test eax, eax
je 0x5a2874
inc dword [esp + 0x24]
test esi, esi
jne 0x5a2870
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x5a2864
call fcn.00565471
mov eax, dword [esp + 0x3c]
add edi, 0x1c
jmp 0x5a27b0
mov eax, dword [esi]
jmp 0x5a285a
mov edx, dword [esp + 0x24]
mov dword [esp + 0x370], edx
test esi, esi
jne 0x5a2a3f
call fcn.00565471
cmp edi, dword [esi + 0x10]
jb 0x5a2896
call fcn.00565471
mov eax, dword [edi + 0x14]
cmp eax, dword [esp + 0x84]
jbe 0x5a2a87
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x5a2a46
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x5a28c3
call fcn.00565471
mov eax, dword [esp + 0x4c]
mov esi, dword [edi + 0x14]
mov ebx, dword [esp + 0x84]
test eax, eax
jne 0x5a2a4d
call fcn.00565471
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x5a28ea
call fcn.00565471
sub esi, ebx
push esi
mov eax, ebx
push eax
lea ecx, [esp + 0xe8]
push ecx
mov ecx, edi
call fcn.00407e50
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x198]
mov byte [esp + 0x394], 0x15
call fcn.00403fb2
cmp dword [esp + 0xf8], 0x10
mov byte [esp + 0x388], 0x14
jb 0x5a293a
mov edx, dword [esp + 0xe4]
push edx
call fcn.00564155
add esp, 4
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5a2a54
call fcn.00565471
xor eax, eax
mov edi, dword [esp + 0x18]
cmp edi, dword [eax + 0x18]
jne 0x5a295b
call fcn.00565471
mov esi, dword [edi + 0x178]
cmp esi, dword [edi + 0x17c]
jbe 0x5a296e
call fcn.00565471
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x16c]
mov ebx, esi
lea ebx, [ebx]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5a2a5b
call fcn.00565471
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp ecx, dword [eax + 0x18]
jne 0x5a29a1
call fcn.00565471
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x17c]
cmp dword [eax + 0x178], esi
jbe 0x5a29b8
call fcn.00565471
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x16c]
test edi, edi
je 0x5a29ca
cmp edi, eax
je 0x5a29cf
call fcn.00565471
cmp ebx, esi
je 0x5a2a87
test edi, edi
jne 0x5a2a62
call fcn.00565471
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x5a29f0
call fcn.00565471
cmp dword [esp + 0x1a4], 0x10
mov eax, dword [esp + 0x190]
jae 0x5a2a08
lea eax, [esp + 0x190]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [ebx + 0x14]
push ecx
push eax
push edx
push 0
mov ecx, ebx
call fcn.00408076
test eax, eax
je 0x5a2a6a
test edi, edi
jne 0x5a2a66
call fcn.00565471
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x5a2a37
call fcn.00565471
add ebx, 0x20
jmp 0x5a2980
mov esi, dword [esi]
jmp 0x5a288c
mov eax, dword [eax]
jmp 0x5a28b9
mov eax, dword [eax]
jmp 0x5a28e0
mov eax, dword [eax]
jmp 0x5a294d
mov eax, dword [eax]
jmp 0x5a2993
mov eax, dword [edi]
jmp 0x5a29e6
mov eax, dword [edi]
jmp 0x5a2a2d
test edi, edi
jne 0x5a2add
call fcn.00565471
cmp ebx, dword [edi + 0x10]
jb 0x5a2a7d
call fcn.00565471
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x1fc], eax
cmp dword [esp + 0x88], 0x10
mov byte [esp + 0x388], 0xd
jb 0x5a2aa6
mov ecx, dword [esp + 0x74]
push ecx
call fcn.00564155
add esp, 4
push 0x278
call fcn.005645f4
add esp, 4
mov dword [esp + 0x44], eax
xor ebx, ebx
mov byte [esp + 0x388], 0x18
cmp eax, ebx
je 0x5a2c83
lea ecx, [esp + 0xfc]
push ecx
mov ecx, eax
call fcn.005a0f10
jmp 0x5a2c85
mov edi, dword [edi]
jmp 0x5a2a73
cmp edi, ebx
jne 0x5a2b4f
call fcn.00565471
xor eax, eax
cmp esi, dword [eax + 0x18]
jne 0x5a2af6
call fcn.00565471
cmp dword [esi + 0x188], ebx
je 0x5a2aa6
cmp edi, ebx
jne 0x5a2b53
call fcn.00565471
xor eax, eax
cmp esi, dword [eax + 0x18]
jne 0x5a2b13
call fcn.00565471
cmp dword [esi + 0x18c], ebx
je 0x5a2aa6
cmp edi, ebx
jne 0x5a2b57
call fcn.00565471
xor eax, eax
cmp esi, dword [eax + 0x18]
jne 0x5a2b30
call fcn.00565471
mov edx, dword [esp + 0x54]
mov eax, dword [esi + 0x188]
add edx, 0x20
push edx
call eax
add esp, 4
mov dword [esp + 0x1fc], eax
jmp 0x5a2aa6
mov eax, dword [edi]
jmp 0x5a2aec
mov eax, dword [edi]
jmp 0x5a2b09
mov eax, dword [edi]
jmp 0x5a2b26
cmp dword [esp + 0xdc], 0x10
jb 0x5a2b75
mov ecx, dword [esp + 0xc8]
push ecx
call fcn.00564155
add esp, 4
cmp dword [esp + 0xa4], 0x10
mov esi, 0xf
mov dword [esp + 0xdc], esi
mov dword [esp + 0xd8], 0
mov byte [esp + 0xc8], 0
jb 0x5a2bae
mov edx, dword [esp + 0x90]
push edx
call fcn.00564155
add esp, 4
cmp dword [esp + 0xc0], 0x10
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa0], 0
mov byte [esp + 0x90], 0
jb 0x5a2dbb
mov eax, dword [esp + 0xac]
push eax
jmp 0x5a2db3
lea ecx, [esp + 0x2c]
call fcn.00407112
lea ecx, [esp + 0xfc]
mov byte [esp + 0x388], 2
call fcn.0059fd10
mov edi, 0x10
cmp dword [esp + 0xdc], edi
jb 0x5a2c1e
mov ecx, dword [esp + 0xc8]
push ecx
call fcn.00564155
add esp, 4
xor ebx, ebx
mov esi, 0xf
mov dword [esp + 0xdc], esi
mov dword [esp + 0xd8], ebx
mov byte [esp + 0xc8], bl
cmp dword [esp + 0xa4], edi
jb 0x5a2c53
mov edx, dword [esp + 0x90]
push edx
call fcn.00564155
add esp, 4
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], 0
cmp dword [esp + 0xc0], edi
jb 0x5a2dbb
mov eax, dword [esp + 0xac]
push eax
jmp 0x5a2db3
xor eax, eax
mov edx, dword [esp + 0x54]
lea ecx, [esp + 0x2c]
mov dword [edx + 0x3c], eax
call fcn.00407112
lea ecx, [esp + 0xfc]
mov byte [esp + 0x388], 2
call fcn.0059fd10
mov esi, 0x10
cmp dword [esp + 0xdc], esi
jb 0x5a2cc7
mov eax, dword [esp + 0xc8]
push eax
call fcn.00564155
add esp, 4
mov edi, 0xf
mov dword [esp + 0xdc], edi
mov dword [esp + 0xd8], ebx
mov byte [esp + 0xc8], 0
cmp dword [esp + 0xa4], esi
jb 0x5a2cfb
mov ecx, dword [esp + 0x90]
push ecx
call fcn.00564155
add esp, 4
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], 0
cmp dword [esp + 0xc0], esi
jb 0x5a2d2a
mov edx, dword [esp + 0xac]
push edx
call fcn.00564155
add esp, 4
mov al, 1
jmp 0x5a2dbd
cmp dword [esp + 0xdc], 0x10
jb 0x5a2d4b
mov eax, dword [esp + 0xc8]
push eax
call fcn.00564155
add esp, 4
cmp dword [esp + 0xa4], 0x10
mov dword [esp + 0xdc], 0xf
mov dword [esp + 0xd8], 0
mov byte [esp + 0xc8], 0
jb 0x5a2d83
mov ecx, dword [esp + 0x90]
push ecx
call fcn.00564155
add esp, 4
cmp dword [esp + 0xc0], 0x10
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], 0
mov byte [esp + 0x90], 0
jb 0x5a2dbb
mov edx, dword [esp + 0xac]
push edx
call fcn.00564155
add esp, 4
xor al, al
mov ecx, dword [esp + 0x380]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x368]
xor ecx, esp
call fcn.00564b24
mov esp, ebp
pop ebp
ret