Function at 0x5a4622
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 2
add esp, 0xfffff004
push eax
dec eax
jne 0x5a462b
mov eax, dword [ebp - 4]
add esp, 0xfffffd24
push ebx
push esi
push edi
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.006054ae
mov ebx, eax
mov eax, dword [ebp + 0xc]
cmp eax, 0x468
jg 0x5a46f6
je 0x5a5249
cmp eax, 0x104
jg 0x5a46b1
je 0x5a481f
cmp eax, 0x47
jg 0x5a4698
je 0x5a47f9
sub eax, 2
je 0x5a4753
sub eax, 0xd
je 0x5a9127
dec eax
je 0x5a47b6
jmp 0x5a913d
sub eax, 0x100
je 0x5a4988
sub eax, 2
je 0x5a4f7f
jmp 0x5a913d
cmp eax, 0x206
jg 0x5a46df
je 0x5a47d3
add eax, 0xfffffeed
sub eax, 3
jb 0x5a47d3
add eax, 0xffffff16
sub eax, 5
jb 0x5a47d3
jmp 0x5a913d
sub eax, 0x465
je 0x5a5d91
dec eax
je 0x5a47d3
jmp 0x5a913d
add eax, 0xfffffb97
cmp eax, 0x11
ja 0x5a913d
jmp dword [eax*4 + 0x44e701]
test ebx, ebx
je 0x5a913d
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebp + 8]
push edx
push ebx
call fcn.005ae366
add esp, 0x14
cmp dword [ebx + 0x3a1], 0
je 0x5a4789
mov ecx, dword [ebx + 0x3a1]
push ecx
call fcn.00605100
cmp dword [ebx + 0x3a5], 0
je 0x5a479e
mov eax, dword [ebx + 0x3a5]
push eax
call fcn.00605100
push ebx
call fcn.00605100
push 0
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.006055bc
jmp 0x5a913d
cmp dword [ebx + 0x3a1], 0
je 0x5a913d
push 0
push ebx
call fcn.005a361e
add esp, 8
jmp 0x5a913d
test ebx, ebx
je 0x5a913d
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0x10]
push eax
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
push ecx
push ebx
call fcn.005ae366
add esp, 0x14
jmp 0x5a913d
test ebx, ebx
je 0x5a913d
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
push ebx
call fcn.005ae366
add esp, 0x14
jmp 0x5a9152
test ebx, ebx
je 0x5a913d
cmp dword [ebp + 0x10], 8
jne 0x5a4924
cmp dword [ebx + 0x3a5], 0
je 0x5a913d
cmp dword [ebx + 0x379], 0
jbe 0x5a913d
mov edx, dword [ebx + 0x385]
cmp edx, dword [ebx + 0x389]
jae 0x5a913d
mov ecx, dword [ebx + 0x385]
cmp ecx, dword [ebx + 0x375]
jb 0x5a913d
mov eax, dword [ebx + 0x375]
add eax, dword [ebx + 0x379]
cmp eax, dword [ebx + 0x389]
jb 0x5a913d
cmp dword [ebx + 0x3a1], 0
je 0x5a48cd
mov edx, dword [ebx + 0x389]
sub edx, dword [ebx + 0x385]
push edx
mov ecx, dword [ebx + 0x3a5]
add ecx, dword [ebx + 0x385]
sub ecx, dword [ebx + 0x375]
push ecx
mov eax, dword [ebx + 0x3a1]
add eax, dword [ebx + 0x385]
sub eax, dword [ebx + 0x375]
push eax
call fcn.005f953a
add esp, 0xc
jmp 0x5a490e
push 5
mov edx, dword [ebx + 0x389]
sub edx, dword [ebx + 0x385]
push edx
mov ecx, dword [ebx + 0x385]
push ecx
mov eax, dword [ebx + 0x3a5]
add eax, dword [ebx + 0x385]
sub eax, dword [ebx + 0x375]
push eax
call fcn.005b7732
add esp, 0x10
test byte [ebx + 0x25d], 0x10
je 0x5a490e
push ebx
call fcn.005a4556
pop ecx
push 0
push 0
push 0x474
call fcn.005b047e
add esp, 0xc
jmp 0x5a913d
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebp + 8]
push edx
push ebx
call fcn.005ae366
add esp, 0x14
test eax, eax
jne 0x5a913d
cmp dword [ebx + 0x251], 0
jne 0x5a913d
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x2c]
push ecx
push eax
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.005ae2fa
add esp, 0x10
push ebx
mov eax, dword [ebp + 0x10]
push eax
mov edx, dword [ebp - 0x2c]
push edx
push 1
mov ecx, dword [ebp - 0x28]
push ecx
push 0xa
call fcn.005ecea2
add esp, 0x18
jmp 0x5a9152
lea eax, [ebp - 0x28]
lea edx, [ebp - 0x2c]
push eax
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0xc]
push eax
call fcn.005ae2fa
add esp, 0x10
test ebx, ebx
jne 0x5a49ab
xor eax, eax
jmp 0x5a9152
cmp dword [ebp + 0x10], 0x11
je 0x5a49c7
cmp dword [ebp + 0x10], 0x10
je 0x5a49c7
test byte [ebx + 0x25d], 0x10
je 0x5a49c7
push ebx
call fcn.005a4556
pop ecx
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0xc]
push edx
push ecx
mov edx, dword [ebx + 0x255]
mov eax, 3
and edx, 0xf000
cmp edx, 0x9000
je 0x5a49e9
dec eax
push eax
push ebx
call fcn.0059d5a2
add esp, 0x10
cmp dword [ebp + 0x10], 0x1b
jne 0x5a4a1c
cmp dword [ebp - 0x28], 0
jne 0x5a4a1c
test byte [ebx + 0x257], 2
je 0x5a4a1c
push 0
push 0
push 0x10
mov ecx, dword [ebp + 8]
push ecx
call fcn.005a4622
jmp 0x5a4f75
cmp dword [ebp + 0x10], 0x42
jne 0x5a4a43
cmp dword [ebp - 0x28], 0
je 0x5a4a43
cmp dword [ebx + 0x379], 0
je 0x5a4a43
push 0
push 1
push ebx
call fcn.005a39ea
add esp, 0xc
jmp 0x5a4f75
cmp dword [ebp + 0x10], 0x43
je 0x5a4a4f
cmp dword [ebp + 0x10], 0x2d
jne 0x5a4a75
cmp dword [ebp - 0x28], 0
je 0x5a4a75
mov eax, dword [ebx + 0x389]
push eax
mov edx, dword [ebx + 0x385]
push edx
push ebx
mov ecx, dword [ebp + 8]
push ecx
call fcn.005a0e66
add esp, 0x10
jmp 0x5a4f75
cmp dword [ebp + 0x10], 0x45
jne 0x5a4ab5
cmp dword [ebp - 0x28], 0
je 0x5a4ab5
cmp dword [ebx + 0x379], 0
je 0x5a4ab5
mov eax, dword [ebx + 0x389]
cmp eax, dword [ebx + 0x385]
jbe 0x5a4ab5
push 0
push ebx
call fcn.005a4366
add esp, 8
push 0
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.006054d8
jmp 0x5a4f75
cmp dword [ebp + 0x10], 0x47
jne 0x5a4d98
cmp dword [ebp - 0x28], 0
je 0x5a4d98
cmp dword [ebx + 0x251], 0
jne 0x5a4adf
cmp dword [ebx + 0x379], 0
jbe 0x5a4d98
test byte [ebx + 0x25d], 0x20
jne 0x5a4d98
cmp dword [ebx + 0x3a1], 0
jne 0x5a4b43
cmp dword [ebx + 0x251], 0
je 0x5a4b43
mov byte [ebp - 0x10c8], 0
mov ecx, dword [ebp - 0x10]
push ecx
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x10c8]
mov edx, dword [ebx + 0x239]
push edx
mov ecx, dword [ebx + 0x251]
push ecx
push 0x4c
push 0
push eax
push 0x4ba9a7
call fcn.005996f2
add esp, 0x20
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x5a4ba4
xor eax, eax
jmp 0x5a9152
cmp dword [ebx + 0x3a1], 0
jne 0x5a4b54
mov edx, dword [0x4dced8]
jmp 0x5a4b56
xor edx, edx
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov eax, 2
cmp dword [ebx + 0x3a1], 0
je 0x5a4b72
add eax, 0xfffffffe
push eax
push 0
push 4
lea edx, [ebp - 0x44]
push edx
cmp dword [ebx + 0x3a1], 0
jne 0x5a4b8b
mov ecx, 0x4ba9ca
jmp 0x5a4b90
mov ecx, 0x4ba9e2
push ecx
call fcn.0059309a
add esp, 0x1c
test eax, eax
je 0x5a4ba4
xor eax, eax
jmp 0x5a9152
cmp dword [ebx + 0x3a1], 0
jne 0x5a4d3f
mov edx, dword [ebp - 0x44]
push edx
call fcn.005b7a52
pop ecx
mov esi, eax
test esi, esi
jne 0x5a4bdc
mov eax, dword [ebp - 0x44]
push eax
push 0x4ba9f9
call fcn.005aa026
add esp, 8
mov eax, 1
jmp 0x5a9152
mov edx, dword [ebp - 0x44]
mov dword [0x4dced8], edx
cmp dword [ebx + 0x251], 0
je 0x5a4c1a
test byte [ebx + 0x25d], 0x10
je 0x5a4bfe
push ebx
call fcn.005a4556
pop ecx
push 0x30
push 0
mov ecx, dword [0x4dced8]
push ecx
push 0
push 0
call fcn.00583622
add esp, 0x14
jmp 0x5a4d86
mov eax, dword [esi]
cmp eax, dword [ebx + 0x375]
jne 0x5a4c51
mov edx, dword [esi + 4]
cmp edx, dword [ebx + 0x379]
jne 0x5a4c51
mov ecx, dword [0x4dced8]
mov dword [ebx + 0x37d], ecx
mov eax, dword [0x4dced8]
mov dword [ebx + 0x389], eax
mov dword [ebx + 0x385], eax
jmp 0x5a4d86
push 7
push ebx
call fcn.005a2f5e
add esp, 8
push 0x4baa38
lea edx, [ebp - 0x10c8]
push edx
call fcn.005fcc36
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [esi]
push ecx
call fcn.005b3e22
pop ecx
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x5a4ce5
mov eax, dword [ebp - 0x70]
cmp byte [eax + 0x48], 0
je 0x5a4ce5
mov edx, dword [ebp - 0x70]
add edx, 0x48
push edx
push 8
push 0x4baa40
lea ecx, [ebp - 0x10c8]
add ecx, dword [ebp - 8]
push ecx
call fcn.005fcc36
add esp, 0x10
add dword [ebp - 8], eax
cmp byte [esi + 0x1c], 0
je 0x5a4cd7
lea eax, [esi + 0x1c]
push eax
push 8
push 0x4baa45
lea edx, [ebp - 0x10c8]
add edx, dword [ebp - 8]
push edx
call fcn.005fcc36
add esp, 0x10
add dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov byte [ebp + ecx - 0x10c8], 0x20
inc dword [ebp - 8]
lea eax, [ebp - 0x10c8]
add eax, dword [ebp - 8]
push eax
mov edx, dword [esi + 4]
push edx
mov ecx, dword [esi]
push ecx
call fcn.005b3fea
add esp, 0xc
lea eax, [ebp - 0x10c8]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.006055c8
mov ecx, dword [esi]
mov dword [ebx + 0x375], ecx
mov eax, dword [esi + 4]
mov dword [ebx + 0x379], eax
mov edx, dword [0x4dced8]
mov dword [ebx + 0x37d], edx
mov ecx, dword [0x4dced8]
mov dword [ebx + 0x389], ecx
mov dword [ebx + 0x385], ecx
jmp 0x5a4d86
mov eax, dword [ebx + 0x375]
cmp eax, dword [ebp - 0x44]
ja 0x5a4d5b
mov edx, dword [ebx + 0x375]
add edx, dword [ebx + 0x379]
cmp edx, dword [ebp - 0x44]
ja 0x5a4d6e
mov eax, dword [ebp - 0x44]
push eax
push 0x4baa4b
call fcn.005aa026
add esp, 8
jmp 0x5a4d86
mov edx, dword [ebp - 0x44]
mov dword [ebx + 0x37d], edx
mov ecx, dword [ebp - 0x44]
mov dword [ebx + 0x389], ecx
mov dword [ebx + 0x385], ecx
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.006054d8
jmp 0x5a4f75
cmp dword [ebp + 0x10], 0x4c
jne 0x5a4dbf
cmp dword [ebp - 0x28], 0
je 0x5a4dbf
cmp dword [ebx + 0x379], 0
je 0x5a4dbf
push 0
push 0
push ebx
call fcn.005a39ea
add esp, 0xc
jmp 0x5a4f75
cmp dword [ebp + 0x10], 0x4e
jne 0x5a4e06
cmp dword [ebp - 0x28], 0
je 0x5a4e06
cmp dword [ebx + 0x3a1], 0
jne 0x5a4e06
cmp dword [ebx + 0x251], 0
je 0x5a4e06
mov edx, dword [ebx + 0x375]
push edx
call fcn.005b3e22
pop ecx
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x5a4f75
mov eax, dword [ebp - 0x70]
push eax
call fcn.005bcf06
pop ecx
jmp 0x5a4f75
cmp dword [ebp + 0x10], 0x52
jne 0x5a4f0e
cmp dword [ebp - 0x28], 0
je 0x5a4f0e
cmp dword [ebx + 0x3a1], 0
jne 0x5a4f0e
cmp dword [ebx + 0x379], 0
je 0x5a4f0e
mov edx, dword [ebx + 0x385]
cmp edx, dword [ebx + 0x389]
jae 0x5a4f0e
mov ecx, dword [ebx + 0x385]
push ecx
call fcn.005b3e22
pop ecx
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x5a4e79
cmp dword [0x4de818], 0
jne 0x5a4e79
mov eax, dword [ebp - 0x70]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x4c], eax
jmp 0x5a4e89
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0x44]
push ecx
call fcn.005745ea
add esp, 8
push 0x4baa79
lea eax, [ebp - 0x10c8]
push eax
call fcn.005fcc36
add esp, 8
mov dword [ebp - 8], eax
lea edx, [ebp - 0x10c8]
add edx, dword [ebp - 8]
push edx
mov ecx, dword [ebp - 0x4c]
push ecx
mov eax, dword [ebp - 0x44]
push eax
call fcn.005b3fea
add dword [ebp - 8], eax
add esp, 0xc
mov edx, dword [ebx + 0x389]
lea eax, [ebp - 0x10c8]
dec edx
push edx
mov ecx, dword [ebx + 0x385]
push ecx
push 0x4baa88
add eax, dword [ebp - 8]
push eax
call fcn.005fcc36
add esp, 0x10
lea edx, [ebp - 0x10c8]
push edx
push 0
push 0
mov ecx, dword [ebx + 0x389]
push ecx
mov eax, dword [ebx + 0x385]
push eax
mov edx, dword [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.005c5e0e
add esp, 0x1c
jmp 0x5a4f75
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
push ebx
call fcn.005ae366
add esp, 0x14
test eax, eax
je 0x5a4f35
mov eax, 1
jmp 0x5a9152
cmp dword [ebx + 0x251], 0
jne 0x5a4f6e
cmp dword [ebx + 0x379], 0
jbe 0x5a4f6e
push ebx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp - 0x2c]
push ecx
push 0
mov eax, dword [ebp - 0x28]
push eax
push 0xa
call fcn.005ecea2
add esp, 0x18
test eax, eax
je 0x5a4f6e
mov eax, 1
jmp 0x5a9152
xor eax, eax
jmp 0x5a9152
mov eax, 1
jmp 0x5a9152
mov edx, dword [ebx + 0x255]
and edx, 0xf000
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.005fdc5a
pop ecx
test eax, eax
jne 0x5a4fa2
cmp dword [ebp + 0x10], 0x20
jne 0x5a4fb4
cmp dword [ebp - 0x14], 0x1000
je 0x5a4fd4
cmp dword [ebp - 0x14], 0xa000
je 0x5a4fd4
mov eax, dword [ebp + 0x10]
push eax
call fcn.005fdc06
pop ecx
test eax, eax
je 0x5a502f
cmp dword [ebp - 0x14], 0x2000
je 0x5a4fd4
cmp dword [ebp - 0x14], 0x3000
jne 0x5a502f
test byte [ebx + 0x257], 1
jne 0x5a502f
mov edx, dword [ebx + 0x385]
cmp edx, dword [ebx + 0x389]
jae 0x5a502f
mov ecx, dword [ebx + 0x385]
cmp ecx, dword [ebx + 0x375]
jb 0x5a502f
mov eax, dword [ebx + 0x375]
add eax, dword [ebx + 0x379]
cmp eax, dword [ebx + 0x389]
jb 0x5a502f
test byte [ebx + 0x25d], 0x10
je 0x5a501d
push ebx
call fcn.005a4556
pop ecx
mov dl, byte [ebp + 0x10]
push edx
push ebx
call fcn.005a4366
add esp, 8
jmp 0x5a5242
cmp dword [ebp + 0x10], 0x2b
jne 0x5a5133
test byte [ebx + 0x25d], 0x10
je 0x5a5133
mov ecx, dword [0x4e9e9c]
cmp ecx, dword [0x4e9e98]
jne 0x5a505b
xor eax, eax
jmp 0x5a9152
mov edx, dword [0x4e9e9c]
shl edx, 4
add edx, 0x4e5e98
mov dword [ebp - 0x78], edx
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx + 4]
push eax
call fcn.005b7a52
pop ecx
mov esi, eax
test esi, esi
je 0x5a5097
mov eax, dword [ebp - 0x78]
mov edx, dword [eax + 4]
cmp edx, dword [esi]
jb 0x5a5097
mov ecx, dword [esi]
mov eax, dword [ebp - 0x78]
add ecx, dword [esi + 4]
cmp ecx, dword [eax + 4]
jae 0x5a509e
xor eax, eax
jmp 0x5a9152
mov edx, dword [ebp - 0x78]
mov eax, dword [ebx + 0x255]
and eax, 0xffff
mov ecx, dword [edx]
cmp ecx, eax
je 0x5a50c1
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx]
push ecx
push ebx
call fcn.0059ce62
add esp, 8
push 0
push 0
mov eax, dword [ebp - 0x78]
mov edx, dword [eax + 4]
push edx
push 0
push 0
call fcn.00583622
mov eax, dword [ebp - 0x78]
add esp, 0x14
mov ecx, dword [esi]
cmp ecx, dword [eax + 8]
ja 0x5a5109
mov edx, dword [esi]
mov ecx, dword [ebp - 0x78]
add edx, dword [esi + 4]
cmp edx, dword [ecx + 0xc]
jb 0x5a5109
mov eax, dword [ebp - 0x78]
mov edx, dword [eax + 8]
mov dword [ebx + 0x385], edx
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0x389], eax
jmp 0x5a511b
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx + 4]
mov dword [ebx + 0x389], ecx
mov dword [ebx + 0x385], ecx
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.006054d8
inc dword [0x4e9e9c]
jmp 0x5a5242
cmp dword [ebp + 0x10], 0x2d
jne 0x5a5242
test byte [ebx + 0x25d], 0x10
je 0x5a5242
mov edx, dword [0x4e9e9c]
cmp edx, dword [0x4e9e98]
jne 0x5a515f
push ebx
call fcn.005a4556
pop ecx
cmp dword [0x4e9e9c], 2
jge 0x5a516f
xor eax, eax
jmp 0x5a9152
mov edx, dword [0x4e9e9c]
shl edx, 4
add edx, 0x4e5e78
mov dword [ebp - 0x78], edx
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx + 4]
push eax
call fcn.005b7a52
pop ecx
mov esi, eax
test esi, esi
je 0x5a51ab
mov eax, dword [ebp - 0x78]
mov edx, dword [eax + 4]
cmp edx, dword [esi]
jb 0x5a51ab
mov ecx, dword [esi]
mov eax, dword [ebp - 0x78]
add ecx, dword [esi + 4]
cmp ecx, dword [eax + 4]
jae 0x5a51b2
xor eax, eax
jmp 0x5a9152
mov edx, dword [ebp - 0x78]
mov eax, dword [ebx + 0x255]
and eax, 0xffff
mov ecx, dword [edx]
cmp ecx, eax
je 0x5a51d5
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx]
push ecx
push ebx
call fcn.0059ce62
add esp, 8
push 0
push 0
mov eax, dword [ebp - 0x78]
mov edx, dword [eax + 4]
push edx
push 0
push 0
call fcn.00583622
mov eax, dword [ebp - 0x78]
add esp, 0x14
mov ecx, dword [esi]
cmp ecx, dword [eax + 8]
ja 0x5a521d
mov edx, dword [esi]
mov ecx, dword [ebp - 0x78]
add edx, dword [esi + 4]
cmp edx, dword [ecx + 0xc]
jb 0x5a521d
mov eax, dword [ebp - 0x78]
mov edx, dword [eax + 8]
mov dword [ebx + 0x385], edx
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0x389], eax
jmp 0x5a522f
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx + 4]
mov dword [ebx + 0x389], ecx
mov dword [ebx + 0x385], ecx
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.006054d8
dec dword [0x4e9e9c]
xor eax, eax
jmp 0x5a9152
cmp dword [ebx + 0x379], 0
jne 0x5a5259
xor eax, eax
jmp 0x5a9152
mov edx, dword [ebx + 0x37d]
mov dword [ebp - 0x44], edx
mov esi, dword [ebx + 0x255]
mov eax, dword [ebx + 0x255]
and esi, 0xff0
and eax, 0xf
sar esi, 4
imul esi, eax
test esi, esi
jne 0x5a5286
mov esi, 1
mov eax, dword [ebx + 0x375]
add eax, dword [ebx + 0x379]
mov dword [ebp - 0x48], eax
cmp dword [ebp + 0xc], 0x46a
je 0x5a53ed
mov edx, dword [ebx + 0x255]
and edx, 0xf000
cmp edx, 0x9000
jne 0x5a53ed
cmp dword [ebp + 0xc], 0x46d
jne 0x5a52da
cmp dword [ebp + 0x14], 0x7fffffff
jne 0x5a52da
mov ecx, dword [ebx + 0x375]
mov dword [ebp - 0x44], ecx
jmp 0x5a5601
cmp dword [ebp + 0xc], 0x46d
jne 0x5a5325
cmp dword [ebp + 0x14], 0x7ffffffe
jne 0x5a5325
cmp dword [ebx + 0x251], 0
setne al
and eax, 1
push eax
push 1
mov edx, dword [ebp - 0x48]
push edx
mov ecx, dword [ebx + 0x379]
push ecx
mov eax, dword [ebx + 0x375]
push eax
mov edx, dword [ebx + 0x3a1]
push edx
call fcn.005d494a
add esp, 0x18
mov dword [ebp - 0x44], eax
jmp 0x5a5601
cmp dword [ebp + 0x14], 0
jge 0x5a5368
cmp dword [ebx + 0x251], 0
setne cl
and ecx, 1
push ecx
mov eax, dword [ebp + 0x14]
neg eax
push eax
mov edx, dword [ebp - 0x44]
push edx
mov ecx, dword [ebx + 0x379]
push ecx
mov eax, dword [ebx + 0x375]
push eax
mov edx, dword [ebx + 0x3a1]
push edx
call fcn.005d494a
add esp, 0x18
mov dword [ebp - 0x44], eax
jmp 0x5a5601
cmp dword [ebp + 0x14], 0
jle 0x5a5601
cmp dword [ebx + 0x251], 0
setne cl
and ecx, 1
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp - 0x44]
push edx
mov ecx, dword [ebx + 0x379]
push ecx
mov eax, dword [ebx + 0x375]
push eax
mov edx, dword [ebx + 0x3a1]
push edx
call fcn.005d4b16
add esp, 0x18
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp - 0x48]
jb 0x5a5601
cmp dword [ebx + 0x251], 0
setne al
and eax, 1
push eax
push 1
mov edx, dword [ebp - 0x48]
push edx
mov ecx, dword [ebx + 0x379]
push ecx
mov eax, dword [ebx + 0x375]
push eax
mov edx, dword [ebx + 0x3a1]
push edx
call fcn.005d494a
add esp, 0x18
mov dword [ebp - 0x44], eax
jmp 0x5a5601
cmp dword [ebp + 0xc], 0x46a
je 0x5a5529
mov ecx, dword [ebx + 0x255]
and ecx, 0xf000
cmp ecx, 0xd000
jne 0x5a5529
cmp dword [ebp + 0xc], 0x46d
jne 0x5a5432
cmp dword [ebp + 0x14], 0x7fffffff
jne 0x5a5432
mov eax, dword [ebx + 0x375]
mov dword [ebp - 0x44], eax
jmp 0x5a5601
cmp dword [ebp + 0xc], 0x46d
jne 0x5a5476
cmp dword [ebp + 0x14], 0x7ffffffe
jne 0x5a5476
mov edx, dword [ebx + 0x259]
push edx
push 1
mov ecx, dword [ebp - 0x48]
push ecx
mov eax, dword [ebx + 0x379]
push eax
mov edx, dword [ebx + 0x375]
push edx
mov ecx, dword [ebx + 0x3a1]
push ecx
call fcn.0059d36a
add esp, 0x18
mov dword [ebp - 0x44], eax
jmp 0x5a5601
cmp dword [ebp + 0x14], 0
jge 0x5a54b2
mov eax, dword [ebx + 0x259]
push eax
mov edx, dword [ebp + 0x14]
neg edx
push edx
mov ecx, dword [ebp - 0x44]
push ecx
mov eax, dword [ebx + 0x379]
push eax
mov edx, dword [ebx + 0x375]
push edx
mov ecx, dword [ebx + 0x3a1]
push ecx
call fcn.0059d36a
add esp, 0x18
mov dword [ebp - 0x44], eax
jmp 0x5a5601
cmp dword [ebp + 0x14], 0
jle 0x5a5601
mov eax, dword [ebx + 0x259]
push eax
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp - 0x44]
push ecx
mov eax, dword [ebx + 0x379]
push eax
mov edx, dword [ebx + 0x375]
push edx
mov ecx, dword [ebx + 0x3a1]
push ecx
call fcn.0059d492
add esp, 0x18
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x48]
jb 0x5a5601
mov edx, dword [ebx + 0x259]
push edx
push 1
mov ecx, dword [ebp - 0x48]
push ecx
mov eax, dword [ebx + 0x379]
push eax
mov edx, dword [ebx + 0x375]
push edx
mov ecx, dword [ebx + 0x3a1]
push ecx
call fcn.0059d36a
add esp, 0x18
mov dword [ebp - 0x44], eax
jmp 0x5a5601
cmp dword [ebp + 0xc], 0x46d
jne 0x5a5549
cmp dword [ebp + 0x14], 0x7fffffff
jne 0x5a5549
mov eax, dword [ebx + 0x375]
mov dword [ebp - 0x44], eax
jmp 0x5a55ee
cmp dword [ebp + 0xc], 0x46d
jne 0x5a5568
cmp dword [ebp + 0x14], 0x7ffffffe
jne 0x5a5568
mov edx, dword [ebp - 0x48]
sub edx, esi
mov dword [ebp - 0x44], edx
jmp 0x5a55ee
cmp dword [ebp + 0x14], 0
jl 0x5a55b5
cmp dword [ebp + 0xc], 0x46a
jne 0x5a558f
mov ecx, dword [ebp + 0x14]
add dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x48]
dec eax
cmp eax, dword [ebp - 0x44]
jae 0x5a55ee
mov edx, dword [ebp - 0x48]
dec edx
mov dword [ebp - 0x44], edx
jmp 0x5a55ee
mov ecx, dword [ebp - 0x44]
add ecx, esi
cmp ecx, dword [ebp - 0x48]
jae 0x5a55ee
mov eax, dword [ebp + 0x14]
imul esi
add dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
add edx, esi
cmp edx, dword [ebp - 0x48]
jbe 0x5a55ee
mov ecx, dword [ebp - 0x48]
sub ecx, esi
mov dword [ebp - 0x44], ecx
jmp 0x5a55ee
cmp dword [ebp + 0xc], 0x46a
jne 0x5a55c6
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x24], eax
jmp 0x5a55cf
mov edx, dword [ebp + 0x14]
imul edx, esi
mov dword [ebp - 0x24], edx
mov ecx, dword [ebx + 0x375]
sub ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x44]
jbe 0x5a55e8
mov eax, dword [ebx + 0x375]
mov dword [ebp - 0x44], eax
jmp 0x5a55ee
mov edx, dword [ebp - 0x24]
add dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x44]
sub eax, dword [ebx + 0x375]
xor edx, edx
div esi
test edx, edx
je 0x5a5601
xor esi, esi
cmp dword [ebp + 0x14], 0
je 0x5a561a
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebx + 0x37d]
jne 0x5a561a
or eax, 0xffffffff
jmp 0x5a9152
mov edx, dword [ebp - 0x44]
mov dword [ebx + 0x37d], edx
mov ecx, dword [ebx + 0x379]
sub ecx, esi
push ecx
push 0x4000
mov eax, dword [ebp - 0x44]
sub eax, dword [ebx + 0x375]
push eax
call fcn.0060515a
jmp 0x5a9152
mov edx, dword [ebx + 0x255]
and edx, 0xf000
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0xb000
je 0x5a5dc4
cmp dword [ebp - 0x30], 0xc000
je 0x5a5dc4
cmp dword [ebp - 0x30], 0x1000
je 0x5a5dc4
cmp dword [ebp - 0x30], 0xa000
jne 0x5a5dcd
mov dword [ebp - 0x34], 4
jmp 0x5a5dd9
mov ecx, dword [ebx + 0x255]
and ecx, 0xf
mov dword [ebp - 0x34], ecx
push 0xa
push 0
lea eax, [ebp - 0x6c]
push eax
call fcn.005f95aa
add esp, 0xc
mov edx, dword [ebx + 0x385]
mov dword [ebp - 0x50], edx
mov ecx, dword [ebx + 0x389]
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x54]
jae 0x5a5e1f
mov edx, dword [ebp - 0x50]
cmp edx, dword [ebx + 0x375]
jb 0x5a5e1f
mov ecx, dword [ebx + 0x375]
add ecx, dword [ebx + 0x379]
cmp ecx, dword [ebp - 0x54]
jae 0x5a5e2b
mov eax, dword [ebx + 0x375]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x34], 0xa
jg 0x5a5e47
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebx + 0x375]
add ecx, dword [ebx + 0x379]
add edx, dword [ebp - 0x34]
cmp edx, ecx
jbe 0x5a5e4e
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x5a5e9c
cmp dword [ebx + 0x3a1], 0
jne 0x5a5e7b
push 3
mov edx, dword [ebp - 0x34]
push edx
mov ecx, dword [ebp - 0x50]
push ecx
lea eax, [ebp - 0x6c]
push eax
call fcn.005b7316
add esp, 0x10
cmp eax, dword [ebp - 0x34]
sete dl
and edx, 1
mov dword [ebp - 0x3c], edx
jmp 0x5a5e9c
mov ecx, dword [ebp - 0x34]
push ecx
mov eax, dword [ebx + 0x3a1]
add eax, dword [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
push edx
call fcn.005f953a
mov dword [ebp - 0x3c], 1
add esp, 0xc
test byte [ebx + 0x257], 1
setne cl
and ecx, 1
mov dword [ebp - 0x38], ecx
cmp dword [ebx + 0x3a1], 0
jne 0x5a5ed5
cmp dword [ebx + 0x251], 0
je 0x5a5ed5
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x54]
jae 0x5a5ed5
mov edx, dword [ebp - 0x50]
push edx
call fcn.005b3e22
pop ecx
mov dword [ebp - 0x70], eax
jmp 0x5a5eda
xor ecx, ecx
mov dword [ebp - 0x70], ecx
cmp dword [ebp - 0x38], 0
je 0x5a5ee5
xor eax, eax
mov dword [ebp + 0x14], eax
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x80], edx
cmp dword [ebp - 0x80], 0
jne 0x5a5ef9
call fcn.006053a0
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
jne 0x5a5f06
xor eax, eax
jmp 0x5a9152
xor edx, edx
xor eax, eax
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
cmp dword [ebx + 0x379], 0
jbe 0x5a6080
test byte [ebx + 0x25d], 1
je 0x5a6080
call fcn.006053a0
mov dword [ebp - 0x84], eax
test eax, eax
je 0x5a6080
cmp dword [ebx + 0x3a5], 0
je 0x5a5faf
cmp dword [ebp - 0x38], 0
jne 0x5a5faf
push 0x4baa9b
push 0x66
push 0
mov edx, dword [ebp - 0x84]
push edx
call fcn.00605358
cmp dword [ebx + 0x3a5], 0
je 0x5a5fd3
cmp dword [ebp - 0x38], 0
je 0x5a5fd3
push 0x4baaa7
push 0x67
push 0
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.00605358
cmp dword [ebp - 0x38], 0
jne 0x5a6069
cmp dword [ebx + 0x3a5], 0
jne 0x5a5fed
mov eax, 0x4baab8
jmp 0x5a5ff2
mov eax, 0x4baac6
push eax
push 0x68
push 0
mov edx, dword [ebp - 0x84]
push edx
call fcn.00605358
cmp dword [ebx + 0x3a5], 0
je 0x5a6021
push 0x4baad4
push 0x69
push 0
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.00605358
push 0x4ba4d6
push 0x6a
push 0
mov eax, dword [ebp - 0x84]
push eax
call fcn.00605358
cmp dword [ebx + 0x3a5], 0
je 0x5a6054
push 0x4ba64a
push 0x6b
push 0
mov edx, dword [ebp - 0x84]
push edx
call fcn.00605358
push 0x4ba620
push 0x6c
push 0
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.00605358
push 0x4baae2
mov eax, dword [ebp - 0x84]
push eax
push 0x10
mov edx, dword [ebp - 0x80]
push edx
call fcn.00605358
cmp dword [ebp - 0x38], 0
jne 0x5a667a
mov ecx, dword [ebp - 0x50]
cmp ecx, dword [ebp - 0x54]
jae 0x5a667a
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebx + 0x375]
jb 0x5a667a
mov edx, dword [ebx + 0x375]
add edx, dword [ebx + 0x379]
cmp edx, dword [ebp - 0x54]
jb 0x5a667a
cmp dword [ebx + 0x3a5], 0
je 0x5a6190
test byte [ebx + 0x25d], 1
je 0x5a6190
mov ecx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x50]
mov dword [ebp - 0x4c], ecx
cmp dword [ebx + 0x3a1], 0
je 0x5a6116
mov eax, dword [ebp - 0x4c]
push eax
mov edx, dword [ebx + 0x3a1]
add edx, dword [ebp - 0x50]
sub edx, dword [ebx + 0x375]
push edx
mov ecx, dword [ebx + 0x3a5]
add ecx, dword [ebp - 0x50]
sub ecx, dword [ebx + 0x375]
push ecx
call fcn.005f97de
add esp, 0xc
mov edi, eax
jmp 0x5a617a
mov eax, dword [ebp - 0x4c]
push eax
push 0
call fcn.006050fa
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
je 0x5a6169
push 3
mov edx, dword [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x50]
push ecx
mov eax, dword [ebp - 0x60]
push eax
call fcn.005b7316
add esp, 0x10
cmp eax, dword [ebp - 0x4c]
jne 0x5a6169
mov edx, dword [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x60]
push ecx
mov eax, dword [ebx + 0x3a5]
add eax, dword [ebp - 0x50]
sub eax, dword [ebx + 0x375]
push eax
call fcn.005f97de
add esp, 0xc
mov edi, eax
jmp 0x5a616b
xor edi, edi
cmp dword [ebp - 0x60], 0
je 0x5a617a
mov eax, dword [ebp - 0x60]
push eax
call fcn.00605100
test edi, edi
je 0x5a6190
push 0x4baaea
push 0x6d
push 0
mov edx, dword [ebp - 0x80]
push edx
call fcn.00605358
test byte [ebx + 0x25d], 2
je 0x5a6216
call fcn.006053a0
mov dword [ebp - 0x88], eax
test eax, eax
je 0x5a6216
push 0x4bab02
push 0x6e
push 0
mov edx, dword [ebp - 0x88]
push edx
call fcn.00605358
push 0x4bab17
push 0x6f
push 0
mov ecx, dword [ebp - 0x88]
push ecx
call fcn.00605358
push 0x4ba02e
push 0
push 0x800
mov eax, dword [ebp - 0x88]
push eax
call fcn.00605358
push 0x4bab20
push 0x70
push 0
mov edx, dword [ebp - 0x88]
push edx
call fcn.00605358
push 0x4bab2c
mov ecx, dword [ebp - 0x88]
push ecx
push 0x10
mov eax, dword [ebp - 0x80]
push eax
call fcn.00605358
test byte [ebx + 0x25d], 4
je 0x5a6464
call fcn.006053a0
mov dword [ebp - 0x8c], eax
test eax, eax
je 0x5a6331
push 0x4bab31
push 0x73
push 0
mov edx, dword [ebp - 0x8c]
push edx
call fcn.00605358
push 0x4bab3e
push 0x74
push 0
mov ecx, dword [ebp - 0x8c]
push ecx
call fcn.00605358
push 0x4bab4e
push 0x75
push 0
mov eax, dword [ebp - 0x8c]
push eax
call fcn.00605358
push 0x4ba02e
push 0
push 0x800
mov edx, dword [ebp - 0x8c]
push edx
call fcn.00605358
push 0x4bab5e
push 0x76
push 0
mov ecx, dword [ebp - 0x8c]
push ecx
call fcn.00605358
mov eax, dword [ebp + 8]
push eax
call fcn.00605532
push 1
call fcn.0060543c
test eax, eax
je 0x5a62cb
push 0x4bab6b
push 0x77
push 0
mov edx, dword [ebp - 0x8c]
push edx
call fcn.00605358
call fcn.00605382
mov ecx, dword [ebp - 0x50]
push ecx
mov eax, dword [ebp - 0x70]
push eax
call fcn.005b3e8a
add esp, 8
mov esi, eax
test esi, esi
je 0x5a631a
mov eax, dword [esi]
cmp eax, dword [ebp - 0x54]
jae 0x5a631a
push 0x4ba02e
push 0
push 0x800
mov edx, dword [ebp - 0x8c]
push edx
call fcn.00605358
push 0x4bab79
push 0x78
push 0
mov ecx, dword [ebp - 0x8c]
push ecx
call fcn.00605358
push 0x4bab92
mov eax, dword [ebp - 0x8c]
push eax
push 0x10
mov edx, dword [ebp - 0x80]
push edx
call fcn.00605358
cmp dword [ebp - 0x3c], 0
je 0x5a638d
cmp dword [ebp - 0x30], 0x4000
je 0x5a6376
cmp dword [ebp - 0x30], 0x5000
je 0x5a6376
cmp dword [ebp - 0x30], 0x6000
je 0x5a6376
cmp dword [ebp - 0x30], 0x8000
je 0x5a6376
cmp dword [ebp - 0x30], 0xb000
je 0x5a6376
cmp dword [ebp - 0x30], 0xc000
je 0x5a6376
cmp dword [ebp - 0x30], 0x7000
jne 0x5a638d
push 0x4bab9a
push 0x79
push 0
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.00605358
jmp 0x5a6464
cmp dword [ebp - 0x30], 0x9000
jne 0x5a63ad
push 0x4baba2
push 0x7a
push 0
mov eax, dword [ebp - 0x80]
push eax
call fcn.00605358
jmp 0x5a6464
cmp dword [ebp - 0x30], 0xd000
jne 0x5a6464
cmp dword [ebx + 0x259], 0
je 0x5a6464
push 0
lea edx, [ebp - 0x1b40]
push edx
mov ecx, dword [ebp - 0x50]
push ecx
mov eax, dword [ebx + 0x379]
push eax
mov edx, dword [ebx + 0x375]
push edx
mov ecx, dword [ebx + 0x3a1]
push ecx
call dword [ebx + 0x259]
add esp, 0x18
test eax, eax
je 0x5a6464
test byte [ebp - 0x153c], 0x1f
je 0x5a6464
and dword [ebp - 0x153c], 0x1f
cmp dword [ebp - 0x153c], 1
jne 0x5a6423
push 0x4babac
push 0x7c
push 0
mov eax, dword [ebp - 0x80]
push eax
call fcn.00605358
jmp 0x5a6464
cmp dword [ebp - 0x153c], 2
je 0x5a6435
cmp dword [ebp - 0x153c], 4
jne 0x5a6449
push 0x4babb8
push 0x7c
push 0
mov edx, dword [ebp - 0x80]
push edx
call fcn.00605358
jmp 0x5a6464
cmp dword [ebp - 0x153c], 5
jne 0x5a6464
push 0x4babc7
push 0x7c
push 0
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.00605358
cmp dword [ebp - 0x70], 0
je 0x5a6498
push 0
push 0x31
mov eax, dword [ebp - 0x50]
push eax
call fcn.005ba9ca
add esp, 0xc
test eax, eax
jne 0x5a6485
mov edx, 0x4babd4
jmp 0x5a648a
mov edx, 0x4babdd
push edx
push 0x7d
push 0
mov eax, dword [ebp - 0x80]
push eax
call fcn.00605358
cmp dword [ebx + 0x3a1], 0
jne 0x5a667a
call fcn.006053a0
mov dword [ebp - 0x90], eax
test eax, eax
je 0x5a667a
push 0x4babeb
push 0x7e
push 0
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
push 0x4babfe
push 0x7f
push 0
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00605358
cmp dword [0x4d8140], 0
je 0x5a6526
cmp dword [0x4d8138], 0
je 0x5a650e
push 0x4bac10
push 0x80
push 0
mov eax, dword [ebp - 0x90]
push eax
call fcn.00605358
jmp 0x5a6526
push 0x4bac2e
push 0x80
push 0
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
cmp dword [0x4d375c], 0
je 0x5a6663
push 0x4ba02e
push 0
push 0x800
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.00605358
call fcn.006053a0
mov dword [ebp - 0x94], eax
call fcn.006053a0
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x94], 0
je 0x5a6663
cmp dword [ebp - 0x98], 0
je 0x5a6663
push 0x4bac48
push 0x83
push 0
mov eax, dword [ebp - 0x94]
push eax
call fcn.00605358
push 0x4bac48
push 0x84
push 0
mov edx, dword [ebp - 0x98]
push edx
call fcn.00605358
test byte [ebp - 0x50], 1
jne 0x5a65e1
push 0x4bac4e
push 0x85
push 0
mov ecx, dword [ebp - 0x94]
push ecx
call fcn.00605358
push 0x4bac4e
push 0x86
push 0
mov eax, dword [ebp - 0x98]
push eax
call fcn.00605358
test byte [ebp - 0x50], 3
jne 0x5a6617
push 0x4bac54
push 0x87
push 0
mov edx, dword [ebp - 0x94]
push edx
call fcn.00605358
push 0x4bac54
push 0x88
push 0
mov ecx, dword [ebp - 0x98]
push ecx
call fcn.00605358
push 0x4bac5b
mov eax, dword [ebp - 0x94]
push eax
push 0x10
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
push 0x4bac6f
mov ecx, dword [ebp - 0x98]
push ecx
push 0x10
mov eax, dword [ebp - 0x90]
push eax
call fcn.00605358
push 0x4bac82
push 0x8a
push 0
mov edx, dword [ebp - 0x90]
push edx
call fcn.00605358
push 0x4bac9a
mov ecx, dword [ebp - 0x90]
push ecx
push 0x10
mov eax, dword [ebp - 0x80]
push eax
call fcn.00605358
cmp dword [ebp - 0x38], 0
jne 0x5a6809
cmp dword [ebx + 0x379], 0
jbe 0x5a6809
test byte [ebx + 0x25d], 8
je 0x5a6809
call fcn.006053a0
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x5a6809
cmp dword [ebp - 0x30], 0x9000
jne 0x5a66d7
push 0x4baca6
push 0xa1
push 0
mov edx, dword [ebp - 0x9c]
push edx
call fcn.00605358
jmp 0x5a6762
cmp dword [ebp - 0x30], 0x4000
je 0x5a66f2
cmp dword [ebp - 0x30], 0x5000
je 0x5a66f2
cmp dword [ebp - 0x30], 0x6000
jne 0x5a670c
push 0x4bacaf
push 0xa2
push 0
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00605358
jmp 0x5a6762
cmp dword [ebp - 0x30], 0x7000
jne 0x5a672f
push 0x4bacb8
push 0xa3
push 0
mov eax, dword [ebp - 0x9c]
push eax
call fcn.00605358
jmp 0x5a6762
cmp dword [ebp - 0x30], 0x8000
je 0x5a674a
cmp dword [ebp - 0x30], 0xb000
je 0x5a674a
cmp dword [ebp - 0x30], 0xc000
jne 0x5a6762
push 0x4bacbf
push 0xa4
push 0
mov edx, dword [ebp - 0x9c]
push edx
call fcn.00605358
push 0x4bacc8
push 0xa5
push 0
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00605358
cmp dword [ebx + 0x3a5], 0
je 0x5a679b
push 0x4bacde
push 0xa6
push 0
mov eax, dword [ebp - 0x9c]
push eax
call fcn.00605358
cmp dword [0x4dcfe4], 0
je 0x5a67bc
push 0x4baced
push 0xa7
push 0
mov edx, dword [ebp - 0x9c]
push edx
call fcn.00605358
cmp dword [ebp - 0x70], 0
je 0x5a67f2
push 0x4ba02e
push 0
push 0x800
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00605358
push 0x4bacfa
push 0xa8
push 0
mov eax, dword [ebp - 0x9c]
push eax
call fcn.00605358
push 0x4bad0e
mov edx, dword [ebp - 0x9c]
push edx
push 0x10
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.00605358
cmp dword [ebp - 0x38], 0
jne 0x5a698d
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x54]
jae 0x5a698d
mov edx, dword [ebp - 0x50]
cmp edx, dword [ebx + 0x375]
jb 0x5a698d
mov ecx, dword [ebx + 0x375]
add ecx, dword [ebx + 0x379]
cmp ecx, dword [ebp - 0x54]
jb 0x5a698d
cmp dword [ebx + 0x3a1], 0
jne 0x5a6948
cmp dword [ebp - 0x3c], 0
je 0x5a6948
cmp dword [ebp - 0x30], 0x8000
je 0x5a688b
cmp dword [ebp - 0x30], 0xb000
je 0x5a688b
cmp dword [ebp - 0x30], 0xc000
je 0x5a688b
cmp dword [ebp - 0x30], 0x1000
je 0x5a688b
cmp dword [ebp - 0x30], 0xa000
jne 0x5a6948
mov eax, dword [ebp - 0x6c]
push eax
call fcn.005b7a52
pop ecx
test eax, eax
je 0x5a6948
mov edx, dword [ebp - 0x6c]
push edx
call fcn.005b3e22
pop ecx
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x5a690a
mov ecx, dword [ebp - 0x74]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ebp - 0x6c]
ja 0x5a690a
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
mov ecx, dword [edx + 0xc]
add ecx, dword [eax + 0x10]
cmp ecx, dword [ebp - 0x6c]
jbe 0x5a690a
cmp dword [ebp - 0x30], 0x1000
je 0x5a68de
cmp dword [ebp - 0x30], 0xa000
jne 0x5a68f5
push 0x4bad1a
push 0xab
push 0
mov edx, dword [ebp - 0x80]
push edx
call fcn.00605358
jmp 0x5a690a
push 0x4bad37
push 0xab
push 0
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.00605358
cmp dword [ebp - 0x30], 0x1000
je 0x5a691c
cmp dword [ebp - 0x30], 0xa000
jne 0x5a6933
push 0x4bad4e
push 0xac
push 0
mov eax, dword [ebp - 0x80]
push eax
call fcn.00605358
jmp 0x5a6948
push 0x4bad64
push 0xac
push 0
mov edx, dword [ebp - 0x80]
push edx
call fcn.00605358
cmp dword [ebp - 0x70], 0
je 0x5a698d
push 0x4bad74
push 0xae
push 0
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.00605358
push 0x4bad8c
push 0xaf
push 0
mov eax, dword [ebp - 0x80]
push eax
call fcn.00605358
push 0x4bada2
push pe_nt_image_headers32
push 0
mov edx, dword [ebp - 0x80]
push edx
call fcn.00605358
cmp dword [ebx + 0x3a1], 0
je 0x5a69b4
cmp dword [ebx + 0x379], 0
je 0x5a69b4
push 0x4badba
push 0xb1
push 0
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.00605358
cmp dword [ebp - 0x38], 0
jne 0x5a6fc1
cmp dword [ebx + 0x379], 0
jne 0x5a69d4
cmp dword [ebx + 0x251], 0
je 0x5a6b11
test byte [ebx + 0x25d], 0x20
jne 0x5a6afc
cmp dword [ebx + 0x251], 0
je 0x5a6aa7
test byte [ebx + 0x25d], 0x10
je 0x5a6aa7
call fcn.006053a0
mov dword [ebp - 0xa0], eax
test eax, eax
je 0x5a6aa7
push 0x4badc4
push 0xb5
push 0
mov edx, dword [ebp - 0xa0]
push edx
call fcn.00605358
cmp dword [0x4e9e98], 1
jle 0x5a6a8e
push 0x4ba02e
push 0
push 0x800
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.00605358
cmp dword [0x4e9e9c], 1
jle 0x5a6a68
push 0x4badd6
push 0xb6
push 0
mov eax, dword [ebp - 0xa0]
push eax
call fcn.00605358
mov edx, dword [0x4e9e9c]
cmp edx, dword [0x4e9e98]
jge 0x5a6a8e
push 0x4bade5
push 0xb7
push 0
mov ecx, dword [ebp - 0xa0]
push ecx
call fcn.00605358
push 0x4badef
mov eax, dword [ebp - 0xa0]
push eax
push 0x10
mov edx, dword [ebp - 0x80]
push edx
call fcn.00605358
jmp 0x5a6afc
cmp dword [ebx + 0x251], 0
je 0x5a6ac7
push 0x4badf5
push 0xb5
push 0
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.00605358
jmp 0x5a6afc
cmp dword [ebx + 0x3a1], 0
jne 0x5a6ae7
push 0x4bae0d
push 0xb5
push 0
mov eax, dword [ebp - 0x80]
push eax
call fcn.00605358
jmp 0x5a6afc
push 0x4bae22
push 0xb5
push 0
mov edx, dword [ebp - 0x80]
push edx
call fcn.00605358
push 0x4ba02e
push 0
push 0x800
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.00605358
cmp dword [ebx + 0x379], 0
je 0x5a6c45
cmp dword [ebx + 0x3a1], 0
je 0x5a6c45
cmp dword [0x4d7200], 0
jle 0x5a6c45
mov eax, dword [0x4d7218]
xor edi, edi
mov dword [ebp - 0x74], eax
jmp 0x5a6c39
mov eax, dword [ebp - 0x74]
add eax, 0x50
push eax
lea edx, [ebx + 0x271]
push edx
call fcn.005f98c6
add esp, 8
test eax, eax
jne 0x5a6c31
mov ecx, dword [ebp - 0x74]
cmp dword [ecx + 0x158], 0
je 0x5a6c31
mov eax, dword [ebp - 0x74]
xor esi, esi
mov edx, dword [eax + 0x158]
mov dword [ebp - 0x7c], edx
jmp 0x5a6c20
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x14]
cmp eax, dword [ebx + 0x385]
ja 0x5a6c1b
mov edx, eax
mov ecx, dword [ebp - 0x7c]
add edx, dword [ecx + 0x10]
cmp edx, dword [ebx + 0x389]
jb 0x5a6c1b
mov edx, dword [ebp - 0x74]
mov ecx, dword [edx]
mov edx, dword [ebp - 0x7c]
add ecx, dword [edx + 0xc]
mov edx, dword [ebx + 0x385]
sub edx, eax
add ecx, edx
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x44]
ja 0x5a6bef
mov edx, dword [ebp - 0x74]
add eax, dword [edx + 0x10]
cmp eax, dword [ebp - 0x44]
jbe 0x5a6bef
push 0x4bae36
push 0xb8
push 0
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.00605358
jmp 0x5a6c04
push 0x4bae51
push 0xb8
push 0
mov eax, dword [ebp - 0x80]
push eax
call fcn.00605358
push 0x4ba02e
push 0
push 0x800
mov edx, dword [ebp - 0x80]
push edx
call fcn.00605358
jmp 0x5a6c45
inc esi
add dword [ebp - 0x7c], 0x28
mov ecx, dword [ebp - 0x74]
cmp esi, dword [ecx + 0x154]
jl 0x5a6b88
jmp 0x5a6c45
inc edi
add dword [ebp - 0x74], 0x465
cmp edi, dword [0x4d7200]
jl 0x5a6b47
call fcn.006053a0
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x5a6ce1
push 0x4bae68
push 0x1101
mov edx, dword [ebp - 0xa4]
push edx
push ebx
call fcn.0059cd82
add esp, 0x10
mov esi, eax
push 0x4bae7d
push 0x1081
mov eax, dword [ebp - 0xa4]
push eax
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
push 0x4bae91
push 0xa101
mov edx, dword [ebp - 0xa4]
push edx
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
push 0x4baea8
push 0xa081
mov ecx, dword [ebp - 0xa4]
push ecx
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
or esi, 0x10
push 0x4baebe
mov eax, dword [ebp - 0xa4]
push eax
push esi
mov edx, dword [ebp - 0x80]
push edx
call fcn.00605358
call fcn.006053a0
mov dword [ebp - 0xa8], eax
test eax, eax
je 0x5a6d7d
push 0x4baec2
push 0x2401
mov edx, dword [ebp - 0xa8]
push edx
push ebx
call fcn.0059cd82
add esp, 0x10
mov esi, eax
push 0x4baed3
push 0x2201
mov eax, dword [ebp - 0xa8]
push eax
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
push 0x4baee4
push 0x3402
mov edx, dword [ebp - 0xa8]
push edx
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
push 0x4baef7
push 0x3202
mov ecx, dword [ebp - 0xa8]
push ecx
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
or esi, 0x10
push 0x4baf0a
mov eax, dword [ebp - 0xa8]
push eax
push esi
mov edx, dword [ebp - 0x80]
push edx
call fcn.00605358
call fcn.006053a0
mov dword [ebp - 0xac], eax
test eax, eax
je 0x5a6df9
push 0x4baf0f
push 0x4082
mov edx, dword [ebp - 0xac]
push edx
push ebx
call fcn.0059cd82
add esp, 0x10
mov esi, eax
push 0x4baf1e
push 0x5082
mov eax, dword [ebp - 0xac]
push eax
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
push 0x4baebe
push 0x6082
mov edx, dword [ebp - 0xac]
push edx
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
or esi, 0x10
push 0x4baf2f
mov ecx, dword [ebp - 0xac]
push ecx
push esi
mov eax, dword [ebp - 0x80]
push eax
call fcn.00605358
call fcn.006053a0
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x5a6ecd
push 0x4baf0f
push 0x4044
mov edx, dword [ebp - 0xb0]
push edx
push ebx
call fcn.0059cd82
add esp, 0x10
mov esi, eax
push 0x4baf1e
push 0x5044
mov eax, dword [ebp - 0xb0]
push eax
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
push 0x4baebe
push 0x6044
mov edx, dword [ebp - 0xb0]
push edx
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
push 0x4ba02f
push 0x8014
mov ecx, dword [ebp - 0xb0]
push ecx
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
push 0x4baf35
push 0xb041
mov eax, dword [ebp - 0xb0]
push eax
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
push 0x4baf4d
push 0xc041
mov edx, dword [ebp - 0xb0]
push edx
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
or esi, 0x10
push 0x4baf67
mov ecx, dword [ebp - 0xb0]
push ecx
push esi
mov eax, dword [ebp - 0x80]
push eax
call fcn.00605358
call fcn.006053a0
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x5a6f49
push 0x4ba085
push 0x7044
mov edx, dword [ebp - 0xb4]
push edx
push ebx
call fcn.0059cd82
add esp, 0x10
mov esi, eax
push 0x4ba092
push 0x7028
mov eax, dword [ebp - 0xb4]
push eax
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
push 0x4ba0a0
push 0x701a
mov edx, dword [ebp - 0xb4]
push edx
push ebx
call fcn.0059cd82
add esp, 0x10
or esi, eax
or esi, 0x10
push 0x4bacb9
mov ecx, dword [ebp - 0xb4]
push ecx
push esi
mov eax, dword [ebp - 0x80]
push eax
call fcn.00605358
push 0x4baf6c
push 0x9011
mov edx, dword [ebp - 0x80]
push edx
push ebx
call fcn.0059cd82
add esp, 0x10
call fcn.006053a0
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x5a6fc1
mov edx, dword [ebx + 0x255]
and edx, 0xffff
cmp edx, 0xd011
jne 0x5a6f8a
mov esi, 8
jmp 0x5a6f8c
xor esi, esi
mov eax, esi
push 0x4baf78
or eax, 0
push 0xd001
push eax
mov edx, dword [ebp - 0xb8]
push edx
call fcn.00605358
push 0x4baf82
or esi, 0x10
mov ecx, dword [ebp - 0xb8]
push ecx
push esi
mov eax, dword [ebp - 0x80]
push eax
call fcn.00605358
cmp dword [ebp - 0x38], 0
jne 0x5a6fef
cmp dword [ebx + 0x379], 0
jbe 0x5a6fef
push ebx
mov edx, 0xa
cmp dword [ebx + 0x251], 0
je 0x5a6fe2
add edx, 0x16
push edx
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.005ec4f2
add esp, 0xc
mov eax, dword [ebp - 0x80]
push eax
push 0
push 0x465
mov edx, dword [ebp + 8]
push edx
push ebx
call fcn.005ae366
add esp, 0x14
mov edi, eax
call fcn.005ec5a6
cmp dword [ebp - 0x84], 0
je 0x5a7023
mov eax, dword [ebp - 0x84]
push eax
call fcn.006053c4
cmp dword [ebp - 0x88], 0
je 0x5a7038
mov edx, dword [ebp - 0x88]
push edx
call fcn.006053c4
cmp dword [ebp - 0x8c], 0
je 0x5a704d
mov ecx, dword [ebp - 0x8c]
push ecx
call fcn.006053c4
cmp dword [ebp - 0x90], 0
je 0x5a7062
mov eax, dword [ebp - 0x90]
push eax
call fcn.006053c4
cmp dword [ebp - 0x94], 0
je 0x5a7077
mov edx, dword [ebp - 0x94]
push edx
call fcn.006053c4
cmp dword [ebp - 0x98], 0
je 0x5a708c
mov ecx, dword [ebp - 0x98]
push ecx
call fcn.006053c4
cmp dword [ebp - 0x9c], 0
je 0x5a70a1
mov eax, dword [ebp - 0x9c]
push eax
call fcn.006053c4
cmp dword [ebp - 0xa0], 0
je 0x5a70b6
mov edx, dword [ebp - 0xa0]
push edx
call fcn.006053c4
cmp dword [ebp - 0xa4], 0
je 0x5a70cb
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.006053c4
cmp dword [ebp - 0xa8], 0
je 0x5a70e0
mov eax, dword [ebp - 0xa8]
push eax
call fcn.006053c4
cmp dword [ebp - 0xac], 0
je 0x5a70f5
mov edx, dword [ebp - 0xac]
push edx
call fcn.006053c4
cmp dword [ebp - 0xb0], 0
je 0x5a710a
mov ecx, dword [ebp - 0xb0]
push ecx
call fcn.006053c4
cmp dword [ebp - 0xb4], 0
je 0x5a711f
mov eax, dword [ebp - 0xb4]
push eax
call fcn.006053c4
cmp dword [ebp - 0xb8], 0
je 0x5a7134
mov edx, dword [ebp - 0xb8]
push edx
call fcn.006053c4
cmp dword [ebp + 0x14], 0
jne 0x5a7143
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.006053c4
lea eax, [ebp - 0x10]
lea edx, [ebp - 0xc]
push eax
push edx
cmp dword [ebp - 0x30], 0x9000
mov ecx, 3
je 0x5a715a
dec ecx
push ecx
push ebx
call fcn.0059d5a2
add esp, 0x10
cmp edi, 0x66
jne 0x5a7179
push 3
push ebx
call fcn.005a2f5e
add esp, 8
jmp 0x5a8c86
cmp edi, 0x67
jne 0x5a718e
push 2
push ebx
call fcn.005a2f5e
add esp, 8
jmp 0x5a8c86
cmp edi, 0x68
jne 0x5a71a3
push 1
push ebx
call fcn.005a2f5e
add esp, 8
jmp 0x5a8c86
cmp edi, 0x69
jne 0x5a71b8
push 7
push ebx
call fcn.005a2f5e
add esp, 8
jmp 0x5a8c86
cmp edi, 0x6a
jne 0x5a71cd
push 4
push ebx
call fcn.005a2f5e
add esp, 8
jmp 0x5a8c86
cmp edi, 0x6b
jne 0x5a71e2
push 6
push ebx
call fcn.005a2f5e
add esp, 8
jmp 0x5a8c86
cmp edi, 0x6c
jne 0x5a71f7
push 5
push ebx
call fcn.005a2f5e
add esp, 8
jmp 0x5a8c86
cmp edi, 0x6d
jne 0x5a7277
cmp dword [ebx + 0x3a1], 0
je 0x5a7239
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x50]
push eax
mov edx, dword [ebx + 0x3a5]
add edx, dword [ebp - 0x50]
sub edx, dword [ebx + 0x375]
push edx
mov ecx, dword [ebx + 0x3a1]
add ecx, dword [ebp - 0x50]
sub ecx, dword [ebx + 0x375]
push ecx
call fcn.005f953a
add esp, 0xc
jmp 0x5a8c86
push 5
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x50]
push eax
mov edx, dword [ebp - 0x50]
push edx
mov ecx, dword [ebx + 0x3a5]
add ecx, dword [ebp - 0x50]
sub ecx, dword [ebx + 0x375]
push ecx
call fcn.005b7732
add esp, 0x10
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x6e
jne 0x5a7296
mov eax, dword [ebp - 0x54]
push eax
mov edx, dword [ebp - 0x50]
push edx
push ebx
mov ecx, dword [ebp + 8]
push ecx
call fcn.005a0e66
add esp, 0x10
jmp 0x5a8c86
cmp edi, 0x6f
jne 0x5a72b1
mov eax, dword [ebp - 0x54]
push eax
mov edx, dword [ebp - 0x50]
push edx
push ebx
call fcn.005a0ebe
add esp, 0xc
jmp 0x5a8c86
cmp edi, 0x70
jne 0x5a72d9
mov ecx, dword [ebx + 0x375]
mov dword [ebx + 0x385], ecx
mov eax, dword [ebx + 0x375]
add eax, dword [ebx + 0x379]
mov dword [ebx + 0x389], eax
jmp 0x5a8c86
cmp edi, 0x73
jne 0x5a7302
push 0
push ebx
call fcn.005a4366
add esp, 8
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x74
je 0x5a7310
cmp edi, 0x75
jne 0x5a741b
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x44], edx
cmp dword [ebx + 0x3a1], 0
jne 0x5a735e
cmp dword [ebx + 0x251], 0
je 0x5a735e
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.005b7a52
pop ecx
mov esi, eax
test esi, esi
je 0x5a735e
cmp dword [esi + 0x24], 0
jne 0x5a735e
mov eax, dword [esi]
cmp eax, dword [ebx + 0x375]
jne 0x5a735e
mov edx, dword [esi + 4]
cmp edx, dword [ebx + 0x379]
jne 0x5a735e
push 1
push ebx
call fcn.005a2f5e
add esp, 8
cmp dword [ebx + 0x3a1], 0
je 0x5a7398
mov ecx, dword [ebp - 0x54]
xor eax, eax
sub ecx, dword [ebp - 0x44]
cmp edi, 0x74
push ecx
je 0x5a737a
add eax, 0xff
push eax
mov edx, dword [ebx + 0x3a1]
add edx, dword [ebp - 0x44]
sub edx, dword [ebx + 0x375]
push edx
call fcn.005f95aa
add esp, 0xc
jmp 0x5a8c86
push 0x1000
xor ecx, ecx
cmp edi, 0x74
je 0x5a73aa
add ecx, 0xff
push ecx
lea eax, [ebp - 0x10c8]
push eax
call fcn.005f95aa
add esp, 0xc
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp - 0x54]
jae 0x5a7402
mov ecx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x44]
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 0x1000
jbe 0x5a73db
mov dword [ebp - 0x4c], 0x1000
push 5
mov eax, dword [ebp - 0x4c]
push eax
mov edx, dword [ebp - 0x44]
push edx
lea ecx, [ebp - 0x10c8]
push ecx
call fcn.005b7732
add esp, 0x10
mov eax, dword [ebp - 0x4c]
add dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
cmp edx, dword [ebp - 0x54]
jb 0x5a73c2
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x76
jne 0x5a74b9
push edi
lea edi, [ebp - 0x1f10]
mov esi, ebx
mov ecx, 0xf3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
xor edx, edx
mov dword [ebp - 0x1cbb], 0x1201
mov eax, dword [ebp - 0x1b8b]
mov dword [ebp - 0x1b93], eax
mov dword [ebp - 0x1dcc], edx
mov ecx, dword [ebp - 0x1cd7]
mov eax, dword [ecx*4 + 0x4d48f4]
shl eax, 5
xor edx, edx
lea eax, [eax + eax*2]
mov dword [ebp - 0x1dc8], eax
mov dword [ebp - 0x1dc4], edx
mov dword [ebp - 0x1dd4], 3
mov ecx, dword [ebp - 0x1b87]
lea edx, [ebp - 0x1f10]
push ecx
mov eax, dword [ebp - 0x1b8b]
push eax
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.005a0e66
add esp, 0x10
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x77
jne 0x5a76e0
mov eax, dword [ebp + 8]
push eax
call fcn.00605532
push 1
call fcn.0060543c
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
je 0x5a76d6
mov edx, dword [ebp - 0xc0]
push edx
call fcn.00605106
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
je 0x5a76ca
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x4c], eax
cmp dword [ebx + 0x3a1], 0
jne 0x5a76b8
cmp dword [ebx + 0x251], 0
je 0x5a76b8
mov edx, dword [ebp - 0x44]
push edx
call fcn.005b7a52
pop ecx
mov esi, eax
test esi, esi
je 0x5a76b8
cmp dword [esi + 0x24], 0
jne 0x5a76b8
mov eax, dword [esi]
cmp eax, dword [ebx + 0x375]
jne 0x5a76b8
mov edx, dword [esi + 4]
cmp edx, dword [ebx + 0x379]
jne 0x5a76b8
push 1
push ebx
call fcn.005a2f5e
add esp, 8
jmp 0x5a76b8
xor ecx, ecx
mov dword [ebp - 8], ecx
jmp 0x5a7632
mov eax, dword [ebp - 0x60]
movzx esi, byte [eax]
inc dword [ebp - 0x60]
push esi
call fcn.005ff8d2
pop ecx
mov esi, eax
push esi
call fcn.005fdbc6
pop ecx
test eax, eax
je 0x5a75a8
mov edi, esi
shl edi, 4
add edi, 0xfffffd00
jmp 0x5a75c8
push esi
call fcn.005fdc5a
pop ecx
test eax, eax
je 0x5a75c0
mov edi, esi
shl edi, 4
add edi, 0xfffffc90
jmp 0x5a75c8
mov eax, dword [ebp - 0x60]
cmp byte [eax], 0
jne 0x5a757e
mov edx, dword [ebp - 8]
lea ecx, [ebp + edx - 0x10c8]
mov dword [ebp - 0xc4], ecx
jmp 0x5a762a
mov eax, dword [ebp - 0x60]
movzx esi, byte [eax]
inc dword [ebp - 0x60]
push esi
call fcn.005ff8d2
pop ecx
mov esi, eax
push esi
call fcn.005fdbc6
pop ecx
test eax, eax
je 0x5a760b
add esi, 0xffffffd0
mov edx, dword [ebp - 0xc4]
add edi, esi
mov eax, edi
mov byte [edx], al
inc dword [ebp - 8]
jmp 0x5a7632
push esi
call fcn.005fdc5a
pop ecx
test eax, eax
je 0x5a762a
add esi, 0xffffffc9
mov edx, dword [ebp - 0xc4]
add edi, esi
mov eax, edi
mov byte [edx], al
inc dword [ebp - 8]
jmp 0x5a7632
mov ecx, dword [ebp - 0x60]
cmp byte [ecx], 0
jne 0x5a75da
cmp dword [ebp - 8], 0x1000
jge 0x5a7647
mov eax, dword [ebp - 0x60]
cmp byte [eax], 0
jne 0x5a75c0
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0x4c]
jbe 0x5a7655
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 8], ecx
cmp dword [ebx + 0x3a1], 0
je 0x5a7683
mov eax, dword [ebp - 8]
lea edx, [ebp - 0x10c8]
push eax
push edx
mov ecx, dword [ebx + 0x3a1]
add ecx, dword [ebp - 0x44]
sub ecx, dword [ebx + 0x375]
push ecx
call fcn.005f953a
add esp, 0xc
jmp 0x5a76ac
push 5
mov eax, dword [ebp - 8]
push eax
mov edx, dword [ebp - 0x44]
push edx
lea ecx, [ebp - 0x10c8]
push ecx
call fcn.005b7732
add esp, 0x10
test byte [ebx + 0x25d], 0x10
je 0x5a76ac
push ebx
call fcn.005a4556
pop ecx
mov eax, dword [ebp - 8]
add dword [ebp - 0x44], eax
mov edx, dword [ebp - 8]
sub dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], 0
jbe 0x5a76ca
mov ecx, dword [ebp - 0x60]
cmp byte [ecx], 0
jne 0x5a7572
mov eax, dword [ebp - 0xc0]
push eax
call fcn.0060511e
call fcn.00605382
jmp 0x5a8c86
cmp edi, 0x78
jne 0x5a7794
push edi
lea edi, [ebp - 0x22e0]
mov esi, ebx
mov ecx, 0xf3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
xor edx, edx
mov dword [ebp - 0x208b], 0x1201
mov eax, dword [ebp - 0x1f5b]
mov esi, dword [0x4e2750]
mov dword [ebp - 0x1f63], eax
mov dword [ebp - 0x219c], edx
mov ecx, dword [ebp - 0x20a7]
mov eax, dword [ecx*4 + 0x4d48f4]
lea ecx, [ebp - 0x22e0]
shl eax, 5
xor edx, edx
mov dword [0x4e2750], 2
lea eax, [eax + eax*2]
mov dword [ebp - 0x2198], eax
mov dword [ebp - 0x2194], edx
mov dword [ebp - 0x21a4], 3
mov eax, dword [ebp - 0x1f57]
push eax
mov edx, dword [ebp - 0x1f5b]
push edx
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.005a0e66
add esp, 0x10
mov dword [0x4e2750], esi
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x79
jne 0x5a78b4
mov edx, dword [ebp - 0x50]
lea ecx, [ebp - 0x10c8]
push edx
push 0x4baf8a
push ecx
call fcn.005fcc36
add esp, 0xc
cmp dword [ebp - 0x30], 0x7000
jne 0x5a77e5
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x6c]
mov edx, dword [ebp - 0xc]
push edx
push 0
push 0
lea edx, [ebp - 0x10c8]
mov ecx, dword [ebp - 0x34]
push ecx
push eax
push edx
call fcn.005937b2
add esp, 0x1c
mov esi, eax
jmp 0x5a780a
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x6c]
mov edx, dword [ebp - 0xc]
push edx
push 0
push 0
lea edx, [ebp - 0x10c8]
mov ecx, dword [ebp - 0x34]
push ecx
push eax
push edx
call fcn.0059309a
add esp, 0x1c
mov esi, eax
test esi, esi
je 0x5a7815
xor eax, eax
jmp 0x5a9152
cmp dword [ebx + 0x3a1], 0
jne 0x5a785d
cmp dword [ebx + 0x251], 0
je 0x5a785d
mov edx, dword [ebp - 0x50]
push edx
call fcn.005b7a52
pop ecx
mov esi, eax
test esi, esi
je 0x5a785d
cmp dword [esi + 0x24], 0
jne 0x5a785d
mov eax, dword [esi]
cmp eax, dword [ebx + 0x375]
jne 0x5a785d
mov edx, dword [esi + 4]
cmp edx, dword [ebx + 0x379]
jne 0x5a785d
push 1
push ebx
call fcn.005a2f5e
add esp, 8
cmp dword [ebx + 0x3a1], 0
je 0x5a7885
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x6c]
push ecx
push eax
mov edx, dword [ebx + 0x3a1]
add edx, dword [ebp - 0x50]
push edx
call fcn.005f953a
add esp, 0xc
jmp 0x5a8c86
push 5
mov ecx, dword [ebp - 0x34]
push ecx
mov eax, dword [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
push edx
call fcn.005b7732
add esp, 0x10
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x7a
jne 0x5a792d
cmp dword [ebx + 0x3a1], 0
jne 0x5a7901
cmp dword [ebx + 0x251], 0
je 0x5a7901
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.005b7a52
pop ecx
mov esi, eax
test esi, esi
je 0x5a7901
cmp dword [esi + 0x24], 0
jne 0x5a7901
mov eax, dword [esi]
cmp eax, dword [ebx + 0x375]
jne 0x5a7901
mov edx, dword [esi + 4]
cmp edx, dword [ebx + 0x379]
jne 0x5a7901
push 1
push ebx
call fcn.005a2f5e
add esp, 8
mov ecx, dword [ebp - 0x10]
push ecx
mov eax, dword [ebp - 0xc]
push eax
push 0
push ebx
call fcn.005945fe
add esp, 0x10
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x7c
jne 0x5a7b72
cmp dword [ebp - 0x153c], 1
jne 0x5a7948
mov dword [ebp - 0x4c], 1
jmp 0x5a7974
cmp dword [ebp - 0x153c], 2
jne 0x5a795a
mov dword [ebp - 0x4c], 2
jmp 0x5a7974
cmp dword [ebp - 0x153c], 4
je 0x5a796d
cmp dword [ebp - 0x14], 5
jne 0x5a913d
mov dword [ebp - 0x4c], 4
push 0xa
push 0
lea edx, [ebp - 0x6c]
push edx
call fcn.005f95aa
add esp, 0xc
cmp dword [ebx + 0x3a1], 0
je 0x5a79d8
mov ecx, dword [ebx + 0x375]
cmp ecx, dword [ebp - 0x50]
ja 0x5a913d
mov eax, dword [ebp - 0x50]
mov edx, dword [ebx + 0x375]
add edx, dword [ebx + 0x379]
add eax, dword [ebp - 0x4c]
cmp eax, edx
ja 0x5a913d
mov ecx, dword [ebp - 0x4c]
push ecx
mov eax, dword [ebx + 0x3a1]
add eax, dword [ebp - 0x50]
sub eax, dword [ebx + 0x375]
push eax
lea edx, [ebp - 0x6c]
push edx
call fcn.005f953a
add esp, 0xc
jmp 0x5a79f7
push 1
mov ecx, dword [ebp - 0x4c]
push ecx
mov eax, dword [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
push edx
call fcn.005b7316
add esp, 0x10
cmp eax, dword [ebp - 0x4c]
jne 0x5a913d
cmp dword [ebp - 0x153c], 1
je 0x5a7a12
cmp dword [ebp - 0x153c], 2
je 0x5a7a12
cmp dword [ebp - 0x153c], 4
jne 0x5a7a77
mov ecx, dword [ebp - 0x50]
push ecx
cmp dword [ebp - 0x153c], 1
jne 0x5a7a26
mov eax, 0x4babb3
jmp 0x5a7a3b
cmp dword [ebp - 0x153c], 2
jne 0x5a7a36
mov eax, 0x4bac56
jmp 0x5a7a3b
mov eax, 0x4bafb0
push eax
push 0x4baf9e
lea edx, [ebp - 0x10c8]
push edx
call fcn.005fcc36
add esp, 0x10
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x6c]
mov eax, dword [ebp - 0xc]
push eax
push 0
push 0
lea eax, [ebp - 0x10c8]
mov edx, dword [ebp - 0x4c]
push edx
push ecx
push eax
call fcn.0059309a
add esp, 0x1c
mov esi, eax
jmp 0x5a7ac2
cmp dword [ebp - 0x153c], 5
jne 0x5a7abf
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x10c8]
push eax
push 0x4bafb6
push edx
call fcn.005fcc36
add esp, 0xc
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x6c]
mov eax, dword [ebp - 0xc]
push eax
push 0
push 0
lea eax, [ebp - 0x10c8]
mov edx, dword [ebp - 0x4c]
push edx
push ecx
push eax
call fcn.005937b2
add esp, 0x1c
mov esi, eax
jmp 0x5a7ac2
or esi, 0xffffffff
test esi, esi
je 0x5a7acd
xor eax, eax
jmp 0x5a9152
cmp dword [ebx + 0x3a1], 0
jne 0x5a7b15
cmp dword [ebx + 0x251], 0
je 0x5a7b15
mov edx, dword [ebp - 0x50]
push edx
call fcn.005b7a52
pop ecx
mov esi, eax
test esi, esi
je 0x5a7b15
cmp dword [esi + 0x24], 0
jne 0x5a7b15
mov eax, dword [esi]
cmp eax, dword [ebx + 0x375]
jne 0x5a7b15
mov edx, dword [esi + 4]
cmp edx, dword [ebx + 0x379]
jne 0x5a7b15
push 1
push ebx
call fcn.005a2f5e
add esp, 8
cmp dword [ebx + 0x3a1], 0
je 0x5a7b43
mov ecx, dword [ebp - 0x4c]
lea eax, [ebp - 0x6c]
push ecx
push eax
mov edx, dword [ebx + 0x3a1]
add edx, dword [ebp - 0x50]
sub edx, dword [ebx + 0x375]
push edx
call fcn.005f953a
add esp, 0xc
jmp 0x5a8c86
push 5
mov ecx, dword [ebp - 0x4c]
push ecx
mov eax, dword [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
push edx
call fcn.005b7732
add esp, 0x10
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x7d
jne 0x5a7c33
lea ecx, [ebp - 0x10c8]
push ecx
push 0x31
mov eax, dword [ebp - 0x50]
push eax
call fcn.005ba9ca
add esp, 0xc
mov edx, dword [ebp - 0x50]
push edx
cmp byte [ebp - 0x10c8], 0
jne 0x5a7ba4
mov ecx, 0x4bafdc
jmp 0x5a7ba9
mov ecx, 0x4bafe0
push ecx
push 0x4bafcb
lea eax, [ebp - 0x11c8]
push eax
call fcn.005fcc36
add esp, 0x10
mov edx, dword [ebp - 0x10]
lea ecx, [ebp - 0x10c8]
push edx
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x11c8]
mov edx, dword [ebx + 0x239]
push edx
push 0x71
push 0
push ecx
push eax
call fcn.00594b06
add esp, 0x1c
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jl 0x5a8c86
lea edx, [ebp - 0x10c8]
push edx
push 0x31
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.005b9f06
add esp, 0xc
push 0
push 0
push 0x474
call fcn.005b047e
add esp, 0xc
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x7e
jne 0x5a7c66
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x50]
push eax
mov edx, dword [ebp - 0x50]
push edx
push 3
call fcn.0056f2e2
add esp, 0xc
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x7f
jne 0x5a7c99
mov ecx, dword [ebp - 0x54]
sub ecx, dword [ebp - 0x50]
push ecx
mov eax, dword [ebp - 0x50]
push eax
push 2
call fcn.0056f2e2
add esp, 0xc
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x80
jne 0x5a7cb4
push 0
push 0
push 0
call fcn.0056f2e2
add esp, 0xc
jmp 0x5a8c86
cmp edi, 0x83
jne 0x5a7ce5
push 2
push 1
mov edx, dword [ebp - 0x50]
push edx
call fcn.0055e69a
add esp, 0xc
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x84
jne 0x5a7d16
push 3
push 1
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.0055e69a
add esp, 0xc
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x85
jne 0x5a7d47
push 2
push 2
mov eax, dword [ebp - 0x50]
push eax
call fcn.0055e69a
add esp, 0xc
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x86
jne 0x5a7d78
push 3
push 2
mov edx, dword [ebp - 0x50]
push edx
call fcn.0055e69a
add esp, 0xc
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x87
jne 0x5a7da9
push 2
push 4
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.0055e69a
add esp, 0xc
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x88
jne 0x5a7dda
push 3
push 4
mov eax, dword [ebp - 0x50]
push eax
call fcn.0055e69a
add esp, 0xc
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0x8a
jne 0x5a7e0b
push 1
push 1
mov edx, dword [ebp - 0x50]
push edx
call fcn.0055e69a
add esp, 0xc
test byte [ebx + 0x25d], 0x10
je 0x5a8c86
push ebx
call fcn.005a4556
pop ecx
jmp 0x5a8c86
cmp edi, 0xa1
jne 0x5a7e27
push 0
push 7
push ebx
call fcn.005a39ea
add esp, 0xc
xor edi, edi
jmp 0x5a8c86
cmp edi, 0xa2
jne 0x5a7e58
cmp dword [ebp - 0x34], 2
jne 0x5a7e44
push 0
push 2
push ebx
call fcn.005a39ea
add esp, 0xc
jmp 0x5a7e51
push 0
push 3
push ebx
call fcn.005a39ea
add esp, 0xc
xor edi, edi
jmp 0x5a8c86
cmp edi, 0xa3
jne 0x5a7e9e
cmp dword [ebp - 0x34], 4
jne 0x5a7e75
push 0
push 4
push ebx
call fcn.005a39ea
add esp, 0xc
jmp 0x5a7e97
cmp dword [ebp - 0x34], 8
jne 0x5a7e8a
push 0
push 5
push ebx
call fcn.005a39ea
add esp, 0xc
jmp 0x5a7e97
push 0
push 6
push ebx
call fcn.005a39ea
add esp, 0xc
xor edi, edi
jmp 0x5a8c86
cmp edi, 0xa4
jne 0x5a7eba
push 0
push 3
push ebx
call fcn.005a39ea
add esp, 0xc
xor edi, edi
jmp 0x5a8c86
cmp edi, 0xa5
jne 0x5a7ed6
push 0
push 1
push ebx
call fcn.005a39ea
add esp, 0xc
xor edi, edi
jmp 0x5a8c86
cmp edi, 0xa6
jne 0x5a7ef2
push 0
push 9
push ebx
call fcn.005a39ea
add esp, 0xc
xor edi, edi
jmp 0x5a8c86
cmp edi, 0xa7
jne 0x5a7f0e
push 0
push 0
push ebx
call fcn.005a39ea
add esp, 0xc
xor edi, edi
jmp 0x5a8c86
cmp edi, 0xa8
jne 0x5a7f25
mov eax, dword [ebp - 0x70]
push eax
call fcn.005bcf06
pop ecx
jmp 0x5a8c86
cmp edi, 0xab
jne 0x5a7f46
push 5
push 0
push 0
mov edx, dword [ebp - 0x6c]
push edx
push 0
call fcn.00583622
add esp, 0x14
jmp 0x5a8c86
cmp edi, 0xac
jne 0x5a7f67
push 0x30
push 0
mov ecx, dword [ebp - 0x6c]
push ecx
push 0
push 0
call fcn.00583622
add esp, 0x14
jmp 0x5a8c86
cmp edi, 0xae
jne 0x5a8024
cmp dword [ebp - 0x70], 0
je 0x5a7f96
cmp dword [0x4de818], 0
jne 0x5a7f96
mov eax, dword [ebp - 0x70]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x4c], eax
jmp 0x5a7fa6
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0x44]
push ecx
call fcn.005745ea
add esp, 8
push 0x4baa79
lea eax, [ebp - 0x10c8]
push eax
call fcn.005fcc36
add esp, 8
mov dword [ebp - 8], eax
lea edx, [ebp - 0x10c8]
add edx, dword [ebp - 8]
push edx
mov ecx, dword [ebp - 0x4c]
push ecx
mov eax, dword [ebp - 0x44]
push eax
call fcn.005b3fea
add dword [ebp - 8], eax
add esp, 0xc
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 0x10c8]
dec edx
push edx
mov ecx, dword [ebp - 0x50]
push ecx
push 0x4baa88
add eax, dword [ebp - 8]
push eax
call fcn.005fcc36
add esp, 0x10
lea edx, [ebp - 0x10c8]
push edx
push 0
push 0
mov ecx, dword [ebp - 0x54]
push ecx
mov eax, dword [ebp - 0x50]
push eax
mov edx, dword [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.005c5e0e
add esp, 0x1c
xor eax, eax
jmp 0x5a9152
cmp edi, 0xaf
jne 0x5a8110
mov edx, dword [ebx + 0x255]
mov dword [ebp - 0x11e0], edx
mov ecx, dword [ebp - 0x50]
push ecx
mov eax, dword [ebp - 0x70]
push eax
call fcn.005b3f62
mov dword [ebp - 0x11d8], eax
mov dword [ebp - 0x11dc], eax
add esp, 8
mov edx, dword [ebp - 0x54]
dec edx
push edx
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.005b3f62
add esp, 8
mov dword [ebp - 0x11d4], eax
cmp dword [ebp - 0x11d4], 0
je 0x5a807e
inc dword [ebp - 0x11d4]
mov eax, dword [ebp - 0x11d4]
cmp eax, dword [ebp - 0x11d8]
ja 0x5a809a
xor edx, edx
mov dword [ebp - 0x11d4], edx
mov dword [ebp - 0x11d8], edx
mov eax, dword [ebp - 0x70]
lea ecx, [ebp - 0x11e0]
add eax, 0x50
push eax
push ecx
push 0x472
call fcn.005b047e
add esp, 0xc
cmp eax, 0x1234
je 0x5a8109
mov eax, dword [ebx + 0x259]
push eax
mov edx, dword [ebx + 0x255]
push edx
mov ecx, dword [ebp - 0x11dc]
push ecx
push 0
push 0
mov eax, dword [ebp - 0x70]
add eax, 0x50
push eax
call fcn.005a915e
add esp, 0x18
mov dword [ebp - 0xbc], eax
mov edx, dword [ebp - 0x70]
add edx, 0x50
push edx
lea ecx, [ebp - 0x11e0]
push ecx
push 0x472
mov eax, dword [ebp - 0xbc]
push eax
call fcn.0060557a
xor eax, eax
jmp 0x5a9152
cmp edi, 0xb0
jne 0x5a85fe
mov edx, dword [ebx + 0x255]
mov dword [ebp - 0x11e0], edx
mov ecx, dword [ebp - 0x50]
push ecx
mov eax, dword [ebp - 0x70]
push eax
call fcn.005b3f62
mov dword [ebp - 0x11d8], eax
mov dword [ebp - 0x11dc], eax
add esp, 8
mov edx, dword [ebp - 0x54]
dec edx
push edx
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.005b3f62
add esp, 8
mov dword [ebp - 0x11d4], eax
cmp dword [ebp - 0x11d4], 0
je 0x5a816a
inc dword [ebp - 0x11d4]
mov eax, dword [ebp - 0x11d4]
mov edx, dword [ebp - 0x54]
sub edx, dword [ebp - 0x50]
sub eax, dword [ebp - 0x11d8]
cmp eax, edx
je 0x5a8192
push 0x4bafe7
call fcn.005aa026
pop ecx
xor eax, eax
jmp 0x5a9152
xor edx, edx
lea eax, [ebp - 0x11e0]
mov dword [ebp - 0x11d0], edx
mov ecx, dword [ebp - 0x70]
add ecx, 0x50
push ecx
push eax
push 0x472
call fcn.005b047e
add esp, 0xc
cmp eax, 0x1234
je 0x5a8209
mov edx, dword [ebx + 0x259]
push edx
mov ecx, dword [ebx + 0x255]
push ecx
mov eax, dword [ebp - 0x11dc]
push eax
push 0
push 0
mov edx, dword [ebp - 0x70]
add edx, 0x50
push edx
call fcn.005a915e
add esp, 0x18
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0x70]
add ecx, 0x50
push ecx
lea eax, [ebp - 0x11e0]
push eax
push 0x472
mov edx, dword [ebp - 0xbc]
push edx
call fcn.0060557a
cmp dword [ebp - 0x11d0], 0
je 0x5a8220
mov ecx, dword [ebp - 0x11d4]
cmp ecx, dword [ebp - 0x11cc]
jbe 0x5a8232
push 0x4bafe7
call fcn.005aa026
pop ecx
xor eax, eax
jmp 0x5a9152
mov edx, dword [ebp - 0x54]
sub edx, dword [ebp - 0x50]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x4c]
push ecx
push 0
call fcn.006050fa
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
jne 0x5a8267
mov eax, dword [ebp - 0x4c]
push eax
push 0x4ba3b8
call fcn.005aa026
add esp, 8
xor eax, eax
jmp 0x5a9152
push 1
mov edx, dword [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x50]
push ecx
mov eax, dword [ebp - 0x60]
push eax
call fcn.005b7316
add esp, 0x10
cmp eax, dword [ebp - 0x4c]
jne 0x5a85f0
xor edx, edx
mov dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0x50]
push ecx
mov eax, dword [ebp - 0x70]
push eax
call fcn.005b3e8a
add esp, 8
mov esi, eax
test esi, esi
je 0x5a85ac
jmp 0x5a8473
cmp dword [esi + 4], 4
je 0x5a82bc
mov dword [ebp - 0x40], 1
jmp 0x5a8470
mov eax, dword [esi]
cmp eax, dword [ebp - 0x50]
jae 0x5a835d
xor edx, edx
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x50]
sub ecx, dword [esi]
mov eax, 4
sub eax, ecx
push eax
mov edx, dword [ebp - 0x60]
push edx
lea ecx, [ebp - 0x44]
add ecx, dword [ebp - 0x50]
sub ecx, dword [esi]
push ecx
call fcn.005f953a
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x50]
sub edx, dword [esi]
mov ecx, 4
sub ecx, edx
push ecx
mov eax, dword [ebp - 0x11d0]
add eax, dword [ebp - 0x11d8]
push eax
lea edx, [ebp - 0x58]
add edx, dword [ebp - 0x50]
sub edx, dword [esi]
push edx
call fcn.005f953a
add esp, 0xc
mov ecx, dword [ebp - 0x50]
sub ecx, dword [esi]
shl ecx, 3
or eax, 0xffffffff
shl eax, cl
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x44]
sub ecx, dword [edx]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x58]
sub edx, dword [eax + 0x160]
xor ecx, edx
and ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], 0
je 0x5a8470
or dword [ebp - 0x40], 2
jmp 0x5a8470
mov ecx, dword [esi]
add ecx, 4
cmp ecx, dword [ebp - 0x54]
jbe 0x5a83f5
xor eax, eax
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x54]
sub edx, dword [esi]
push edx
mov ecx, dword [esi]
add ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x50]
push ecx
lea eax, [ebp - 0x44]
push eax
call fcn.005f953a
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x58], edx
mov ecx, dword [ebp - 0x54]
sub ecx, dword [esi]
push ecx
mov eax, dword [ebp - 0x11d0]
add eax, dword [ebp - 0x11d8]
add eax, dword [esi]
sub eax, dword [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
push edx
call fcn.005f953a
add esp, 0xc
mov ecx, 4
sub ecx, dword [ebp - 0x54]
add ecx, dword [esi]
shl ecx, 3
or eax, 0xffffffff
shr eax, cl
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x44]
sub ecx, dword [edx]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x58]
sub edx, dword [eax + 0x160]
xor ecx, edx
and ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], 0
je 0x5a8470
or dword [ebp - 0x40], 2
jmp 0x5a8470
push 4
mov ecx, dword [esi]
add ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x50]
push ecx
lea eax, [ebp - 0x44]
push eax
call fcn.005f953a
add esp, 0xc
push 4
mov edx, dword [ebp - 0x11d0]
add edx, dword [ebp - 0x11d8]
add edx, dword [esi]
sub edx, dword [ebp - 0x50]
push edx
lea ecx, [ebp - 0x58]
push ecx
call fcn.005f953a
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x70]
add esp, 0xc
sub edx, dword [eax]
mov eax, dword [ebp - 0x58]
sub eax, dword [ecx + 0x160]
cmp edx, eax
je 0x5a8470
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x70]
mov ecx, dword [edx]
lea edx, [ebp - 0x44]
sub ecx, dword [eax + 0x160]
sub dword [ebp - 0x44], ecx
push 4
push edx
mov ecx, dword [esi]
add ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x50]
push ecx
call fcn.005f953a
add esp, 0xc
or dword [ebp - 0x40], 1
add esi, 8
cmp dword [esi], 0
je 0x5a8483
mov eax, dword [esi]
cmp eax, dword [ebp - 0x54]
jb 0x5a82aa
test byte [ebp - 0x40], 2
je 0x5a84b0
push 0x2010
push 0x4bb06a
push 0x4bb010
mov edx, dword [0x4d3b7c]
push edx
call fcn.00605520
mov dword [ebp - 0x40], 2
jmp 0x5a85ac
cmp dword [ebp - 0x40], 0
je 0x5a85ac
mov dword [ebp - 4], 0x100
push 0x4bb082
lea ecx, [ebp - 0x10c8]
push ecx
call fcn.005fcc36
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 0x70], 0
je 0x5a851c
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
cmp edx, dword [0x4d7364]
jne 0x5a851c
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x70]
mov eax, dword [ecx]
cmp eax, dword [edx + 0x160]
jne 0x5a851c
push 0x4bb0a7
lea ecx, [ebp - 0x10c8]
add ecx, dword [ebp - 8]
push ecx
call fcn.005fcc36
add esp, 8
add dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x5a8568
cmp dword [ebp - 0x70], 0
je 0x5a854e
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x70]
mov ecx, dword [edx]
cmp ecx, dword [eax + 0x160]
je 0x5a854e
push 0x4bb117
lea edx, [ebp - 0x10c8]
add edx, dword [ebp - 8]
push edx
call fcn.005fcc36
add esp, 8
add dword [ebp - 8], eax
jmp 0x5a8568
push 0x4bb12f
lea ecx, [ebp - 0x10c8]
add ecx, dword [ebp - 8]
push ecx
call fcn.005fcc36
add esp, 8
add dword [ebp - 8], eax
push 0x4bb163
lea eax, [ebp - 0x10c8]
add eax, dword [ebp - 8]
push eax
call fcn.005fcc36
add esp, 8
mov edx, dword [ebp - 4]
or edx, 0x2024
lea ecx, [ebp - 0x10c8]
push edx
push 0x4bb219
push ecx
mov eax, dword [0x4d3b7c]
push eax
call fcn.00605520
mov esi, eax
cmp esi, 6
jne 0x5a85ac
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x5a85f0
mov edx, dword [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x60]
push ecx
mov eax, dword [ebp - 0x11d0]
add eax, dword [ebp - 0x11d8]
push eax
call fcn.005f953a
add esp, 0xc
test byte [ebx + 0x25d], 0x10
je 0x5a85df
push ebx
call fcn.005a4556
pop ecx
push 0
push 0
push 0x474
call fcn.005b047e
add esp, 0xc
mov edx, dword [ebp - 0x60]
push edx
call fcn.00605100
jmp 0x5a8c86
cmp edi, 0xb1
jne 0x5a8616
push 1
push ebx
call fcn.005a361e
add esp, 8
jmp 0x5a8c86
cmp edi, 0xb5
jne 0x5a88bc
cmp dword [ebx + 0x3a1], 0
jne 0x5a8679
cmp dword [ebx + 0x251], 0
je 0x5a8679
mov byte [ebp - 0x10c8], 0
mov ecx, dword [ebp - 0x10]
push ecx
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x10c8]
mov edx, dword [ebx + 0x239]
push edx
mov ecx, dword [ebx + 0x251]
push ecx
push 0x4c
push 0
push eax
push 0x4ba9a7
call fcn.005996f2
add esp, 0x20
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x5a86da
xor eax, eax
jmp 0x5a9152
cmp dword [ebx + 0x3a1], 0
jne 0x5a868a
mov edx, dword [0x4dced8]
jmp 0x5a868c
xor edx, edx
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov eax, 2
cmp dword [ebx + 0x3a1], 0
je 0x5a86a8
add eax, 0xfffffffe
push eax
push 0
push 4
lea edx, [ebp - 0x44]
push edx
cmp dword [ebx + 0x3a1], 0
jne 0x5a86c1
mov ecx, 0x4ba9ca
jmp 0x5a86c6
mov ecx, 0x4ba9e2
push ecx
call fcn.0059309a
add esp, 0x1c
test eax, eax
je 0x5a86da
xor eax, eax
jmp 0x5a9152
cmp dword [ebx + 0x3a1], 0
jne 0x5a886d
mov edx, dword [ebp - 0x44]
push edx
call fcn.005b7a52
pop ecx
mov esi, eax
test esi, esi
jne 0x5a870f
mov eax, dword [ebp - 0x44]
push eax
push 0x4ba9f9
call fcn.005aa026
add esp, 8
xor eax, eax
jmp 0x5a9152
mov edx, dword [ebp - 0x44]
mov dword [0x4dced8], edx
cmp dword [ebx + 0x251], 0
je 0x5a873d
push 0x30
push 0
mov ecx, dword [0x4dced8]
push ecx
push 0
push 0
call fcn.00583622
add esp, 0x14
jmp 0x5a8c86
mov eax, dword [esi]
cmp eax, dword [ebx + 0x375]
jne 0x5a8774
mov edx, dword [esi + 4]
cmp edx, dword [ebx + 0x379]
jne 0x5a8774
mov ecx, dword [0x4dced8]
mov dword [ebx + 0x37d], ecx
mov eax, dword [0x4dced8]
mov dword [ebx + 0x389], eax
mov dword [ebx + 0x385], eax
jmp 0x5a8c86
push 7
push ebx
call fcn.005a2f5e
add esp, 8
push 0x4baa38
lea edx, [ebp - 0x10c8]
push edx
call fcn.005fcc36
add esp, 8
mov dword [ebp - 8], eax
mov ecx, dword [esi]
push ecx
call fcn.005b3e22
pop ecx
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x5a8808
mov eax, dword [ebp - 0x70]
cmp byte [eax + 0x48], 0
je 0x5a8808
mov edx, dword [ebp - 0x70]
add edx, 0x48
push edx
push 8
push 0x4baa40
lea ecx, [ebp - 0x10c8]
add ecx, dword [ebp - 8]
push ecx
call fcn.005fcc36
add esp, 0x10
add dword [ebp - 8], eax
cmp byte [esi + 0x1c], 0
je 0x5a87fa
lea eax, [esi + 0x1c]
push eax
push 8
push 0x4baa45
lea edx, [ebp - 0x10c8]
add edx, dword [ebp - 8]
push edx
call fcn.005fcc36
add esp, 0x10
add dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov byte [ebp + ecx - 0x10c8], 0x20
inc dword [ebp - 8]
mov eax, dword [esi]
lea ecx, [ebp - 0x10c8]
add eax, dword [ebp - 0x4c]
dec eax
push eax
mov edx, dword [esi]
push edx
push 0x4baa8c
add ecx, dword [ebp - 8]
push ecx
call fcn.005fcc36
add esp, 0x10
lea eax, [ebp - 0x10c8]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.006055c8
mov ecx, dword [esi]
mov dword [ebx + 0x375], ecx
mov eax, dword [esi + 4]
mov dword [ebx + 0x379], eax
mov edx, dword [0x4dced8]
mov dword [ebx + 0x37d], edx
mov ecx, dword [0x4dced8]
mov dword [ebx + 0x389], ecx
mov dword [ebx + 0x385], ecx
jmp 0x5a8c86
mov eax, dword [ebx + 0x375]
cmp eax, dword [ebp - 0x44]
ja 0x5a8889
mov edx, dword [ebx + 0x375]
add edx, dword [ebx + 0x379]
cmp edx, dword [ebp - 0x44]
ja 0x5a889f
mov eax, dword [ebp - 0x44]
push eax
push 0x4baa4b
call fcn.005aa026
add esp, 8
jmp 0x5a8c86
mov edx, dword [ebp - 0x44]
mov dword [ebx + 0x37d], edx
mov ecx, dword [ebp - 0x44]
mov dword [ebx + 0x389], ecx
mov dword [ebx + 0x385], ecx
jmp 0x5a8c86
cmp edi, 0xb6
jne 0x5a89b7
mov eax, dword [0x4e9e9c]
cmp eax, dword [0x4e9e98]
jne 0x5a88dc
push ebx
call fcn.005a4556
pop ecx
cmp dword [0x4e9e9c], 2
jge 0x5a88ec
xor eax, eax
jmp 0x5a9152
mov edx, dword [0x4e9e9c]
shl edx, 4
add edx, 0x4e5e78
mov dword [ebp - 0x78], edx
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx + 4]
push eax
call fcn.005b7a52
pop ecx
mov esi, eax
test esi, esi
je 0x5a8928
mov eax, dword [ebp - 0x78]
mov edx, dword [eax + 4]
cmp edx, dword [esi]
jb 0x5a8928
mov ecx, dword [esi]
mov eax, dword [ebp - 0x78]
add ecx, dword [esi + 4]
cmp ecx, dword [eax + 4]
jae 0x5a892f
xor eax, eax
jmp 0x5a9152
mov edx, dword [ebp - 0x78]
mov eax, dword [ebx + 0x255]
and eax, 0xffff
mov ecx, dword [edx]
cmp ecx, eax
je 0x5a8952
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx]
push ecx
push ebx
call fcn.0059ce62
add esp, 8
push 0
push 0
mov eax, dword [ebp - 0x78]
mov edx, dword [eax + 4]
push edx
push 0
push 0
call fcn.00583622
mov eax, dword [ebp - 0x78]
add esp, 0x14
mov ecx, dword [esi]
cmp ecx, dword [eax + 8]
ja 0x5a899a
mov edx, dword [esi]
mov ecx, dword [ebp - 0x78]
add edx, dword [esi + 4]
cmp edx, dword [ecx + 0xc]
jb 0x5a899a
mov eax, dword [ebp - 0x78]
mov edx, dword [eax + 8]
mov dword [ebx + 0x385], edx
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0x389], eax
jmp 0x5a89ac
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx + 4]
mov dword [ebx + 0x389], ecx
mov dword [ebx + 0x385], ecx
dec dword [0x4e9e9c]
jmp 0x5a8c86
cmp edi, 0xb7
jne 0x5a8aa2
mov eax, dword [0x4e9e9c]
cmp eax, dword [0x4e9e98]
jne 0x5a89d7
xor eax, eax
jmp 0x5a9152
mov edx, dword [0x4e9e9c]
shl edx, 4
add edx, 0x4e5e98
mov dword [ebp - 0x78], edx
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx + 4]
push eax
call fcn.005b7a52
pop ecx
mov esi, eax
test esi, esi
je 0x5a8a13
mov eax, dword [ebp - 0x78]
mov edx, dword [eax + 4]
cmp edx, dword [esi]
jb 0x5a8a13
mov ecx, dword [esi]
mov eax, dword [ebp - 0x78]
add ecx, dword [esi + 4]
cmp ecx, dword [eax + 4]
jae 0x5a8a1a
xor eax, eax
jmp 0x5a9152
mov edx, dword [ebp - 0x78]
mov eax, dword [ebx + 0x255]
and eax, 0xffff
mov ecx, dword [edx]
cmp ecx, eax
je 0x5a8a3d
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx]
push ecx
push ebx
call fcn.0059ce62
add esp, 8
push 0
push 0
mov eax, dword [ebp - 0x78]
mov edx, dword [eax + 4]
push edx
push 0
push 0
call fcn.00583622
mov eax, dword [ebp - 0x78]
add esp, 0x14
mov ecx, dword [esi]
cmp ecx, dword [eax + 8]
ja 0x5a8a85
mov edx, dword [esi]
mov ecx, dword [ebp - 0x78]
add edx, dword [esi + 4]
cmp edx, dword [ecx + 0xc]
jb 0x5a8a85
mov eax, dword [ebp - 0x78]
mov edx, dword [eax + 8]
mov dword [ebx + 0x385], edx
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx + 0xc]
mov dword [ebx + 0x389], eax
jmp 0x5a8a97
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx + 4]
mov dword [ebx + 0x389], ecx
mov dword [ebx + 0x385], ecx
inc dword [0x4e9e9c]
jmp 0x5a8c86
cmp edi, 0xb8
jne 0x5a8bd1
mov eax, dword [0x4d7218]
xor edi, edi
mov dword [ebp - 0x74], eax
jmp 0x5a8bc0
mov eax, dword [ebp - 0x74]
add eax, 0x50
push eax
lea edx, [ebx + 0x271]
push edx
call fcn.005f98c6
add esp, 8
test eax, eax
jne 0x5a8bb8
mov ecx, dword [ebp - 0x74]
cmp dword [ecx + 0x158], 0
je 0x5a8bb8
mov eax, dword [ebp - 0x74]
xor esi, esi
mov edx, dword [eax + 0x158]
mov dword [ebp - 0x7c], edx
jmp 0x5a8ba4
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0x14]
cmp edx, dword [ebx + 0x385]
ja 0x5a8b9f
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x7c]
mov eax, dword [ecx + 0x14]
add eax, dword [edx + 0x10]
cmp eax, dword [ebx + 0x389]
jb 0x5a8b9f
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x7c]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x7c]
add eax, dword [edx + 0xc]
mov edx, dword [ebx + 0x385]
sub edx, dword [ecx + 0x14]
add eax, edx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax + 0xc]
cmp ecx, dword [ebp - 0x44]
ja 0x5a8b7c
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x74]
mov edx, dword [eax + 0xc]
add edx, dword [ecx + 0x10]
cmp edx, dword [ebp - 0x44]
jbe 0x5a8b7c
push 0xd
mov eax, dword [ebx + 0x389]
sub eax, dword [ebx + 0x385]
push eax
mov edx, dword [ebp - 0x44]
push edx
call fcn.00583eae
add esp, 0xc
jmp 0x5a8c86
push pe_nt_image_headers32
mov ecx, dword [ebx + 0x389]
sub ecx, dword [ebx + 0x385]
push ecx
mov eax, dword [ebp - 0x44]
push eax
call fcn.00583f1a
add esp, 0xc
jmp 0x5a8c86
inc esi
add dword [ebp - 0x7c], 0x28
mov edx, dword [ebp - 0x74]
cmp esi, dword [edx + 0x154]
jl 0x5a8afe
jmp 0x5a8c86
inc edi
add dword [ebp - 0x74], 0x465
cmp edi, dword [0x4d7200]
jl 0x5a8abd
jmp 0x5a8c86
cmp edi, 0x1000
jl 0x5a8c41
cmp edi, 0xdfff
jge 0x5a8c41
test byte [ebx + 0x25d], 0x10
je 0x5a8bf1
push ebx
call fcn.005a4556
pop ecx
mov ecx, edi
and ecx, 0xf000
cmp ecx, 0xd000
jne 0x5a8c2d
cmp edi, 0xd001
jne 0x5a8c15
mov dword [ebx + 0x259], 0x48f8a8
jmp 0x5a8c1d
xor eax, eax
mov dword [ebx + 0x259], eax
push 0xd011
push ebx
call fcn.0059ce62
add esp, 8
jmp 0x5a8c86
cmp edi, dword [ebx + 0x255]
je 0x5a8c86
push edi
push ebx
call fcn.0059ce62
add esp, 8
jmp 0x5a8c86
cmp edi, 0x2e0
jl 0x5a8c58
cmp edi, 0x2ff
jg 0x5a8c58
mov eax, edi
jmp 0x5a9152
push ebx
push edi
cmp dword [ebx + 0x251], 0
mov edx, 0xa
je 0x5a8c6b
add edx, 0x16
push edx
call fcn.005ec5ee
add esp, 0xc
test eax, eax
jne 0x5a8c7f
xor eax, eax
jmp 0x5a9152
mov eax, edi
jmp 0x5a9152
test edi, edi
je 0x5a8c97
push 0
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.006054d8
xor eax, eax
jmp 0x5a9152
push 0x447748
push ebx
mov edx, dword [ebp + 8]
push edx
call fcn.005abed6
add esp, 0xc
xor eax, eax
jmp 0x5a9152
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.006053b2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10