Function at 0x5d3550
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6236e6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
push 0x12
push 0x251
mov edi, ecx
mov ecx, dword [ebp + 8]
push 0x259
push eax
push ecx
mov ecx, edi
mov dword [ebp - 0x14], edi
call fcn.0041af90
lea esi, [edi + 0x30]
mov dword [edi], 0x62ecf0
mov eax, dword [esi + 4]
test eax, eax
mov dword [ebp - 4], 0
mov ebx, 4
je 0x5d19be
mov edx, dword [esi + 0xc]
sub edx, eax
sar edx, 2
cmp edx, 0x90
jae 0x5d1a3e
push 0x240
call fcn.00604401
mov edi, dword [esi + 4]
mov dword [ebp + 8], eax
mov ebx, eax
mov eax, dword [esi + 8]
add esp, 4
cmp edi, eax
mov dword [ebp + 0xc], eax
je 0x5d19f3
mov edx, edi
mov ecx, ebx
call fcn.00404ba0
mov eax, dword [ebp + 0xc]
add edi, 4
add ebx, 4
cmp edi, eax
jne 0x5d19dd
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
push eax
push ecx
mov ecx, esi
call fcn.00404190
mov eax, dword [esi + 4]
push eax
call fcn.005f8040
mov ecx, dword [ebp + 8]
lea edx, [ecx + 0x240]
mov dword [esi + 0xc], edx
mov edx, dword [esi + 4]
add esp, 4
test edx, edx
jne 0x5d1a25
xor eax, eax
jmp 0x5d1a2d
mov eax, dword [esi + 8]
sub eax, edx
sar eax, 2
mov edi, dword [ebp - 0x14]
lea eax, [ecx + eax*4]
mov dword [esi + 8], eax
mov dword [esi + 4], ecx
mov ebx, 4
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 1
je 0x5d1a74
mov ecx, dword [edi + 0x24]
mov edx, dword [edi + 0x20]
push 0x800
push 0x67140c
push 0
push ecx
push edx
push 0
push 0
mov ecx, eax
call fcn.0044e690
jmp 0x5d1a76
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 2
je 0x5d1ac7
mov edx, dword [edi + 0x20]
push 8
push 0
push 1
push 1
push 7
push 0x64ba9c
push 0
push 0x1e
push edx
push 0xf
push 0
mov ecx, eax
call fcn.005aa840
jmp 0x5d1ac9
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 3
je 0x5d1b1e
push 8
push 0
push 5
push 2
push 1
push 0x64a178
push 0
push 0x4d
push 0xfa
push 0x32
push 0x13f
mov ecx, eax
call fcn.005aa840
jmp 0x5d1b20
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 4
je 0x5d1b75
push 0x10
push 0
push 0
push 0
push 0
push 0x64b18c
push 3
push 0x20
push 0x20
push 0x1c9
push 0x8d
mov ecx, eax
call fcn.004de6f0
jmp 0x5d1b77
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 5
je 0x5d1bcc
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 8
push 0x2c
push 0x2c
push 0x1c0
push 0x1a8
mov ecx, eax
call fcn.004de6f0
jmp 0x5d1bce
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 6
je 0x5d1c1f
push 8
push 0
push 1
push ebx
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0x1f1
push 0x7c
mov ecx, eax
call fcn.005aa840
jmp 0x5d1c21
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 7
je 0x5d1c76
push 8
push 0
push 1
push 0xc
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0x1f1
push 0x19b
mov ecx, eax
call fcn.005aa840
jmp 0x5d1c78
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 8
je 0x5d1ccd
push 8
push 0
push 1
push 0xe
push 1
push 0x64a178
push 0
push 0x14
push 0x101
push 0x8c
push 0x1c
mov ecx, eax
call fcn.005aa840
jmp 0x5d1ccf
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 9
je 0x5d1d27
push 8
push 0
push 1
push 0xf
push 1
push 0x64a178
push 0
push 0x14
push 0x101
push 0x8b
push 0x13d
mov ecx, eax
call fcn.005aa840
jmp 0x5d1d29
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x64
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0xa
je 0x5d1d7e
push 2
push 0
push 0
push 1
push 0
push 0x6713b0
push 5
push 0x20
push 0x40
push 0x208
push 0x10c
mov ecx, eax
call fcn.00454210
jmp 0x5d1d80
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x64
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0xb
je 0x5d1dd5
push 2
push 0
push 0
push 1
push 0
push str.PRRose.pcx
push 0x10
push 0x20
push 0x40
push 0x1c3
push 0x203
mov ecx, eax
call fcn.00454210
jmp 0x5d1dd7
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x64
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0xc
je 0x5d1e29
push 2
push 0
push 0
push 1
push 0
push 0x6713a0
push 0x11
push 0x20
push 0x40
push 0x209
push 0x12
mov ecx, eax
call fcn.00454210
jmp 0x5d1e2b
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x64
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0xd
je 0x5d1e7d
push 2
push 0
push 0
push 1
push 0
push 0x6713fc
push 0x13
push 0x20
push 0x40
push 0x1c3
push 0x12
mov ecx, eax
call fcn.00454210
jmp 0x5d1e7f
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0xe
je 0x5d1ed1
push 0x10
push 0
push 0
push 0
push 0
push 0x64b18c
push 0x15
push 0x20
push 0x20
push 0xbe
push 0x3a
mov ecx, eax
call fcn.004de6f0
jmp 0x5d1ed3
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0xf
je 0x5d1f28
push 0x10
push 0
push 0
push 0
push 1
push 0x64b18c
push 0x16
push 0x20
push 0x20
push 0xbe
push 0x8d
mov ecx, eax
call fcn.004de6f0
jmp 0x5d1f2a
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x10
je 0x5d1f7f
push 0x10
push 0
push 0
push 0
push 2
push 0x64b18c
push 0x17
push 0x20
push 0x20
push 0xbe
push 0xdf
mov ecx, eax
call fcn.004de6f0
jmp 0x5d1f81
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x11
je 0x5d1fd3
push 0x10
push 0
push 0
push 0
push 3
push 0x64b18c
push 0x18
push 0x20
push 0x20
push 0x10d
push 0x3a
mov ecx, eax
call fcn.004de6f0
jmp 0x5d1fd5
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x12
je 0x5d2029
push 0x10
push 0
push 0
push 0
push ebx
push 0x64b18c
push 0x19
push 0x20
push 0x20
push 0x10d
push 0x8d
mov ecx, eax
call fcn.004de6f0
jmp 0x5d202b
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x13
je 0x5d2080
push 0x10
push 0
push 0
push 0
push 5
push 0x64b18c
push 0x1a
push 0x20
push 0x20
push 0x10d
push 0xdf
mov ecx, eax
call fcn.004de6f0
jmp 0x5d2082
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x14
je 0x5d20d7
push 0x10
push 0
push 0
push 0
push 6
push 0x64b18c
push 0x1b
push 0x20
push 0x20
push 0x15c
push 0x8d
mov ecx, eax
call fcn.004de6f0
jmp 0x5d20d9
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x15
je 0x5d212b
push 8
push 0
push 1
push 0x23
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0xe6
push 0x29
mov ecx, eax
call fcn.005aa840
jmp 0x5d212d
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x16
je 0x5d217f
push 8
push 0
push 1
push 0x24
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0xe6
push 0x7c
mov ecx, eax
call fcn.005aa840
jmp 0x5d2181
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x17
je 0x5d21d6
push 8
push 0
push 1
push 0x25
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0xe6
push 0xcf
mov ecx, eax
call fcn.005aa840
jmp 0x5d21d8
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x18
je 0x5d222a
push 8
push 0
push 1
push 0x26
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0x135
push 0x29
mov ecx, eax
call fcn.005aa840
jmp 0x5d222c
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x19
je 0x5d227e
push 8
push 0
push 1
push 0x27
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0x135
push 0x7c
mov ecx, eax
call fcn.005aa840
jmp 0x5d2280
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x1a
je 0x5d22d5
push 8
push 0
push 1
push 0x28
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0x135
push 0xcf
mov ecx, eax
call fcn.005aa840
jmp 0x5d22d7
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x1b
je 0x5d2329
push 8
push 0
push 1
push 0x29
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0x184
push 0x7c
mov ecx, eax
call fcn.005aa840
jmp 0x5d232b
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x1c
je 0x5d2378
push 0x800
push 0x671360
push 0x1c
push 0x46
push 0x4a
push 0xb4
push 0x25
mov ecx, eax
call fcn.0044e690
jmp 0x5d237a
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x1d
je 0x5d23c7
push 0x800
push 0x671360
push 0x1d
push 0x46
push 0x4a
push 0xb4
push 0x78
mov ecx, eax
call fcn.0044e690
jmp 0x5d23c9
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x1e
je 0x5d2419
push 0x800
push 0x671360
push 0x1e
push 0x46
push 0x4a
push 0xb4
push 0xcb
mov ecx, eax
call fcn.0044e690
jmp 0x5d241b
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x1f
je 0x5d2468
push 0x800
push 0x671360
push 0x1f
push 0x46
push 0x4a
push 0x103
push 0x25
mov ecx, eax
call fcn.0044e690
jmp 0x5d246a
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x20
je 0x5d24b7
push 0x800
push 0x671360
push 0x20
push 0x46
push 0x4a
push 0x103
push 0x78
mov ecx, eax
call fcn.0044e690
jmp 0x5d24b9
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x21
je 0x5d2509
push 0x800
push 0x671360
push 0x21
push 0x46
push 0x4a
push 0x103
push 0xcb
mov ecx, eax
call fcn.0044e690
jmp 0x5d250b
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x22
je 0x5d2558
push 0x800
push 0x671360
push 0x22
push 0x46
push 0x4a
push 0x152
push 0x78
mov ecx, eax
call fcn.0044e690
jmp 0x5d255a
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x23
je 0x5d25af
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x38
push 0x2c
push 0x2c
push 0xb6
push 0x155
mov ecx, eax
call fcn.004de6f0
jmp 0x5d25b1
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x24
je 0x5d2606
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x39
push 0x2c
push 0x2c
push 0xb6
push 0x1a8
mov ecx, eax
call fcn.004de6f0
jmp 0x5d2608
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x25
je 0x5d265d
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x3a
push 0x2c
push 0x2c
push 0xb6
push 0x1fa
mov ecx, eax
call fcn.004de6f0
jmp 0x5d265f
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x26
je 0x5d26b4
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x3b
push 0x2c
push 0x2c
push 0x105
push 0x155
mov ecx, eax
call fcn.004de6f0
jmp 0x5d26b6
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x27
je 0x5d270b
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x3c
push 0x2c
push 0x2c
push 0x105
push 0x1a8
mov ecx, eax
call fcn.004de6f0
jmp 0x5d270d
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x28
je 0x5d2762
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x3d
push 0x2c
push 0x2c
push 0x105
push 0x1fa
mov ecx, eax
call fcn.004de6f0
jmp 0x5d2764
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x29
je 0x5d27b9
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x3e
push 0x2c
push 0x2c
push 0x154
push 0x1a8
mov ecx, eax
call fcn.004de6f0
jmp 0x5d27bb
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x2a
je 0x5d2810
push 8
push 0
push 1
push 0x4d
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0xe6
push 0x148
mov ecx, eax
call fcn.005aa840
jmp 0x5d2812
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x2b
je 0x5d2867
push 8
push 0
push 1
push 0x4e
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0xe6
push 0x19b
mov ecx, eax
call fcn.005aa840
jmp 0x5d2869
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x2c
je 0x5d28be
push 8
push 0
push 1
push 0x4f
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0xe6
push 0x1ee
mov ecx, eax
call fcn.005aa840
jmp 0x5d28c0
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x2d
je 0x5d2915
push 8
push 0
push 1
push 0x50
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0x135
push 0x148
mov ecx, eax
call fcn.005aa840
jmp 0x5d2917
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x2e
je 0x5d296c
push 8
push 0
push 1
push 0x51
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0x135
push 0x19b
mov ecx, eax
call fcn.005aa840
jmp 0x5d296e
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x2f
je 0x5d29c3
push 8
push 0
push 1
push 0x52
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0x135
push 0x1ee
mov ecx, eax
call fcn.005aa840
jmp 0x5d29c5
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x30
je 0x5d2a1a
push 8
push 0
push 1
push 0x53
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0x184
push 0x19b
mov ecx, eax
call fcn.005aa840
jmp 0x5d2a1c
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x31
je 0x5d2a6c
push 0x800
push 0x671360
push 0x3f
push 0x46
push 0x4a
push 0xb4
push 0x145
mov ecx, eax
call fcn.0044e690
jmp 0x5d2a6e
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x32
je 0x5d2abe
push 0x800
push 0x671360
push 0x40
push 0x46
push 0x4a
push 0xb4
push 0x198
mov ecx, eax
call fcn.0044e690
jmp 0x5d2ac0
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x33
je 0x5d2b10
push 0x800
push 0x671360
push 0x41
push 0x46
push 0x4a
push 0xb4
push 0x1eb
mov ecx, eax
call fcn.0044e690
jmp 0x5d2b12
xor eax, eax
mov edi, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub edx, edi
sar edx, 2
cmp edx, 1
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
jae 0x5d2bd7
mov ecx, esi
call fcn.00509c00
cmp eax, 1
jbe 0x5d2b44
mov ecx, esi
call fcn.00509c00
mov ebx, eax
jmp 0x5d2b49
mov ebx, 1
mov ecx, esi
call fcn.00509c00
add eax, ebx
mov dword [ebp - 0x10], eax
jns 0x5d2b59
xor eax, eax
shl eax, 2
push eax
call fcn.00604401
mov ecx, dword [esi + 4]
add esp, 4
mov ebx, eax
push ebx
push edi
push ecx
mov ecx, esi
call fcn.00423010
lea edx, [ebp + 0xc]
push edx
push 1
push eax
mov ecx, esi
mov dword [ebp + 8], eax
call fcn.00488030
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 8]
add eax, 4
push eax
push ecx
push edi
mov ecx, esi
call fcn.00423010
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
mov ecx, esi
call fcn.00404190
mov eax, dword [esi + 4]
push eax
call fcn.005f8040
mov ecx, dword [ebp - 0x10]
lea edx, [ebx + ecx*4]
add esp, 4
mov ecx, esi
mov dword [esi + 0xc], edx
call fcn.00509c00
lea eax, [ebx + eax*4 + 4]
mov dword [esi + 8], eax
mov dword [esi + 4], ebx
mov ebx, 4
jmp 0x5d2c5a
mov ecx, edi
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d2c22
lea edx, [edi + 4]
push edx
push edi
push edi
mov ecx, esi
call fcn.00423010
mov eax, dword [esi + 8]
mov edx, eax
lea ecx, [ebp + 0xc]
push ecx
sub edx, edi
sar edx, 2
mov ecx, 1
sub ecx, edx
push ecx
push eax
mov ecx, esi
call fcn.00488030
mov eax, dword [esi + 8]
cmp edi, eax
je 0x5d2c57
mov edx, dword [ebp + 0xc]
mov dword [edi], edx
add edi, ebx
cmp edi, eax
jne 0x5d2c15
jmp 0x5d2c57
push edi
push edi
lea eax, [edi - 4]
push eax
mov ecx, esi
call fcn.00423010
mov ecx, dword [esi + 8]
lea eax, [ecx - 4]
cmp edi, eax
je 0x5d2c45
sub eax, ebx
mov edx, dword [eax]
sub ecx, ebx
cmp eax, edi
mov dword [ecx], edx
jne 0x5d2c39
lea eax, [edi + 4]
cmp edi, eax
je 0x5d2c57
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, ebx
cmp edi, eax
jne 0x5d2c4c
add dword [esi + 8], ebx
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x34
je 0x5d2c92
push 0x800
push 0x671360
push 0x42
push 0x46
push 0x4a
push 0x103
push 0x145
mov ecx, eax
call fcn.0044e690
jmp 0x5d2c94
xor eax, eax
mov edi, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub edx, edi
sar edx, 2
cmp edx, 1
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
jae 0x5d2d59
mov ecx, esi
call fcn.00509c00
cmp eax, 1
jbe 0x5d2cc6
mov ecx, esi
call fcn.00509c00
mov ebx, eax
jmp 0x5d2ccb
mov ebx, 1
mov ecx, esi
call fcn.00509c00
add eax, ebx
mov dword [ebp - 0x10], eax
jns 0x5d2cdb
xor eax, eax
shl eax, 2
push eax
call fcn.00604401
mov ecx, dword [esi + 4]
add esp, 4
mov ebx, eax
push ebx
push edi
push ecx
mov ecx, esi
call fcn.00423010
lea edx, [ebp + 0xc]
push edx
push 1
push eax
mov ecx, esi
mov dword [ebp + 8], eax
call fcn.00488030
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 8]
add eax, 4
push eax
push ecx
push edi
mov ecx, esi
call fcn.00423010
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
mov ecx, esi
call fcn.00404190
mov eax, dword [esi + 4]
push eax
call fcn.005f8040
mov ecx, dword [ebp - 0x10]
lea edx, [ebx + ecx*4]
add esp, 4
mov ecx, esi
mov dword [esi + 0xc], edx
call fcn.00509c00
lea eax, [ebx + eax*4 + 4]
mov dword [esi + 8], eax
mov dword [esi + 4], ebx
mov ebx, 4
jmp 0x5d2ddc
mov ecx, edi
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d2da4
lea edx, [edi + 4]
push edx
push edi
push edi
mov ecx, esi
call fcn.00423010
mov eax, dword [esi + 8]
mov edx, eax
lea ecx, [ebp + 0xc]
push ecx
sub edx, edi
sar edx, 2
mov ecx, 1
sub ecx, edx
push ecx
push eax
mov ecx, esi
call fcn.00488030
mov eax, dword [esi + 8]
cmp edi, eax
je 0x5d2dd9
mov edx, dword [ebp + 0xc]
mov dword [edi], edx
add edi, ebx
cmp edi, eax
jne 0x5d2d97
jmp 0x5d2dd9
push edi
push edi
lea eax, [edi - 4]
push eax
mov ecx, esi
call fcn.00423010
mov ecx, dword [esi + 8]
lea eax, [ecx - 4]
cmp edi, eax
je 0x5d2dc7
sub eax, ebx
mov edx, dword [eax]
sub ecx, ebx
cmp eax, edi
mov dword [ecx], edx
jne 0x5d2dbb
lea eax, [edi + 4]
cmp edi, eax
je 0x5d2dd9
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, ebx
cmp edi, eax
jne 0x5d2dce
add dword [esi + 8], ebx
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x35
je 0x5d2e14
push 0x800
push 0x671360
push 0x43
push 0x46
push 0x4a
push 0x103
push 0x198
mov ecx, eax
call fcn.0044e690
jmp 0x5d2e16
xor eax, eax
mov edi, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub edx, edi
sar edx, 2
cmp edx, 1
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
jae 0x5d2edb
mov ecx, esi
call fcn.00509c00
cmp eax, 1
jbe 0x5d2e48
mov ecx, esi
call fcn.00509c00
mov ebx, eax
jmp 0x5d2e4d
mov ebx, 1
mov ecx, esi
call fcn.00509c00
add eax, ebx
mov dword [ebp - 0x10], eax
jns 0x5d2e5d
xor eax, eax
shl eax, 2
push eax
call fcn.00604401
mov ecx, dword [esi + 4]
add esp, 4
mov ebx, eax
push ebx
push edi
push ecx
mov ecx, esi
call fcn.00423010
lea edx, [ebp + 0xc]
push edx
push 1
push eax
mov ecx, esi
mov dword [ebp + 8], eax
call fcn.00488030
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 8]
add eax, 4
push eax
push ecx
push edi
mov ecx, esi
call fcn.00423010
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
mov ecx, esi
call fcn.00404190
mov eax, dword [esi + 4]
push eax
call fcn.005f8040
mov ecx, dword [ebp - 0x10]
lea edx, [ebx + ecx*4]
add esp, 4
mov ecx, esi
mov dword [esi + 0xc], edx
call fcn.00509c00
lea eax, [ebx + eax*4 + 4]
mov dword [esi + 8], eax
mov dword [esi + 4], ebx
mov ebx, 4
jmp 0x5d2f5e
mov ecx, edi
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d2f26
lea edx, [edi + 4]
push edx
push edi
push edi
mov ecx, esi
call fcn.00423010
mov eax, dword [esi + 8]
mov edx, eax
lea ecx, [ebp + 0xc]
push ecx
sub edx, edi
sar edx, 2
mov ecx, 1
sub ecx, edx
push ecx
push eax
mov ecx, esi
call fcn.00488030
mov eax, dword [esi + 8]
cmp edi, eax
je 0x5d2f5b
mov edx, dword [ebp + 0xc]
mov dword [edi], edx
add edi, ebx
cmp edi, eax
jne 0x5d2f19
jmp 0x5d2f5b
push edi
push edi
lea eax, [edi - 4]
push eax
mov ecx, esi
call fcn.00423010
mov ecx, dword [esi + 8]
lea eax, [ecx - 4]
cmp edi, eax
je 0x5d2f49
sub eax, ebx
mov edx, dword [eax]
sub ecx, ebx
cmp eax, edi
mov dword [ecx], edx
jne 0x5d2f3d
lea eax, [edi + 4]
cmp edi, eax
je 0x5d2f5b
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, ebx
cmp edi, eax
jne 0x5d2f50
add dword [esi + 8], ebx
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x36
je 0x5d2f96
push 0x800
push 0x671360
push 0x44
push 0x46
push 0x4a
push 0x103
push 0x1eb
mov ecx, eax
call fcn.0044e690
jmp 0x5d2f98
xor eax, eax
mov edi, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub edx, edi
sar edx, 2
cmp edx, 1
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
jae 0x5d305d
mov ecx, esi
call fcn.00509c00
cmp eax, 1
jbe 0x5d2fca
mov ecx, esi
call fcn.00509c00
mov ebx, eax
jmp 0x5d2fcf
mov ebx, 1
mov ecx, esi
call fcn.00509c00
add eax, ebx
mov dword [ebp - 0x10], eax
jns 0x5d2fdf
xor eax, eax
shl eax, 2
push eax
call fcn.00604401
mov ecx, dword [esi + 4]
add esp, 4
mov ebx, eax
push ebx
push edi
push ecx
mov ecx, esi
call fcn.00423010
lea edx, [ebp + 0xc]
push edx
push 1
push eax
mov ecx, esi
mov dword [ebp + 8], eax
call fcn.00488030
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 8]
add eax, 4
push eax
push ecx
push edi
mov ecx, esi
call fcn.00423010
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
mov ecx, esi
call fcn.00404190
mov eax, dword [esi + 4]
push eax
call fcn.005f8040
mov ecx, dword [ebp - 0x10]
lea edx, [ebx + ecx*4]
add esp, 4
mov ecx, esi
mov dword [esi + 0xc], edx
call fcn.00509c00
lea eax, [ebx + eax*4 + 4]
mov dword [esi + 8], eax
mov dword [esi + 4], ebx
mov ebx, 4
jmp 0x5d30e0
mov ecx, edi
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d30a8
lea edx, [edi + 4]
push edx
push edi
push edi
mov ecx, esi
call fcn.00423010
mov eax, dword [esi + 8]
mov edx, eax
lea ecx, [ebp + 0xc]
push ecx
sub edx, edi
sar edx, 2
mov ecx, 1
sub ecx, edx
push ecx
push eax
mov ecx, esi
call fcn.00488030
mov eax, dword [esi + 8]
cmp edi, eax
je 0x5d30dd
mov edx, dword [ebp + 0xc]
mov dword [edi], edx
add edi, ebx
cmp edi, eax
jne 0x5d309b
jmp 0x5d30dd
push edi
push edi
lea eax, [edi - 4]
push eax
mov ecx, esi
call fcn.00423010
mov ecx, dword [esi + 8]
lea eax, [ecx - 4]
cmp edi, eax
je 0x5d30cb
sub eax, ebx
mov edx, dword [eax]
sub ecx, ebx
cmp eax, edi
mov dword [ecx], edx
jne 0x5d30bf
lea eax, [edi + 4]
cmp edi, eax
je 0x5d30dd
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, ebx
cmp edi, eax
jne 0x5d30d2
add dword [esi + 8], ebx
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x37
je 0x5d3118
push 0x800
push 0x671360
push 0x45
push 0x46
push 0x4a
push 0x152
push 0x198
mov ecx, eax
call fcn.0044e690
jmp 0x5d311a
xor eax, eax
mov edi, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub edx, edi
sar edx, 2
cmp edx, 1
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
jae 0x5d31df
mov ecx, esi
call fcn.00509c00
cmp eax, 1
jbe 0x5d314c
mov ecx, esi
call fcn.00509c00
mov ebx, eax
jmp 0x5d3151
mov ebx, 1
mov ecx, esi
call fcn.00509c00
add eax, ebx
mov dword [ebp - 0x10], eax
jns 0x5d3161
xor eax, eax
shl eax, 2
push eax
call fcn.00604401
mov ecx, dword [esi + 4]
add esp, 4
mov ebx, eax
push ebx
push edi
push ecx
mov ecx, esi
call fcn.00423010
lea edx, [ebp + 0xc]
push edx
push 1
push eax
mov ecx, esi
mov dword [ebp + 8], eax
call fcn.00488030
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 8]
add eax, 4
push eax
push ecx
push edi
mov ecx, esi
call fcn.00423010
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
mov ecx, esi
call fcn.00404190
mov eax, dword [esi + 4]
push eax
call fcn.005f8040
mov ecx, dword [ebp - 0x10]
lea edx, [ebx + ecx*4]
add esp, 4
mov ecx, esi
mov dword [esi + 0xc], edx
call fcn.00509c00
lea eax, [ebx + eax*4 + 4]
mov dword [esi + 8], eax
mov dword [esi + 4], ebx
mov ebx, 4
jmp 0x5d3262
mov ecx, edi
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d322a
lea edx, [edi + 4]
push edx
push edi
push edi
mov ecx, esi
call fcn.00423010
mov eax, dword [esi + 8]
mov edx, eax
lea ecx, [ebp + 0xc]
push ecx
sub edx, edi
sar edx, 2
mov ecx, 1
sub ecx, edx
push ecx
push eax
mov ecx, esi
call fcn.00488030
mov eax, dword [esi + 8]
cmp edi, eax
je 0x5d325f
mov edx, dword [ebp + 0xc]
mov dword [edi], edx
add edi, ebx
cmp edi, eax
jne 0x5d321d
jmp 0x5d325f
push edi
push edi
lea eax, [edi - 4]
push eax
mov ecx, esi
call fcn.00423010
mov ecx, dword [esi + 8]
lea eax, [ecx - 4]
cmp edi, eax
je 0x5d324d
sub eax, ebx
mov edx, dword [eax]
sub ecx, ebx
cmp eax, edi
mov dword [ecx], edx
jne 0x5d3241
lea eax, [edi + 4]
cmp edi, eax
je 0x5d325f
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, ebx
cmp edi, eax
jne 0x5d3254
add dword [esi + 8], ebx
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x38
je 0x5d329d
push 0x800
push 0x64ba88
push 0x92
push 0x12
push 0x249
push 0x238
push 8
mov ecx, eax
call fcn.0044e690
jmp 0x5d329f
xor eax, eax
mov edi, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub edx, edi
sar edx, 2
cmp edx, 1
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
jae 0x5d3364
mov ecx, esi
call fcn.00509c00
cmp eax, 1
jbe 0x5d32d1
mov ecx, esi
call fcn.00509c00
mov ebx, eax
jmp 0x5d32d6
mov ebx, 1
mov ecx, esi
call fcn.00509c00
add eax, ebx
mov dword [ebp - 0x10], eax
jns 0x5d32e6
xor eax, eax
shl eax, 2
push eax
call fcn.00604401
mov ecx, dword [esi + 4]
add esp, 4
mov ebx, eax
push ebx
push edi
push ecx
mov ecx, esi
call fcn.00423010
lea edx, [ebp + 0xc]
push edx
push 1
push eax
mov ecx, esi
mov dword [ebp + 8], eax
call fcn.00488030
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 8]
add eax, 4
push eax
push ecx
push edi
mov ecx, esi
call fcn.00423010
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
mov ecx, esi
call fcn.00404190
mov eax, dword [esi + 4]
push eax
call fcn.005f8040
mov ecx, dword [ebp - 0x10]
lea edx, [ebx + ecx*4]
add esp, 4
mov ecx, esi
mov dword [esi + 0xc], edx
call fcn.00509c00
lea eax, [ebx + eax*4 + 4]
mov dword [esi + 8], eax
mov dword [esi + 4], ebx
mov ebx, 4
jmp 0x5d33e7
mov ecx, edi
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d33af
lea edx, [edi + 4]
push edx
push edi
push edi
mov ecx, esi
call fcn.00423010
mov eax, dword [esi + 8]
mov edx, eax
lea ecx, [ebp + 0xc]
push ecx
sub edx, edi
sar edx, 2
mov ecx, 1
sub ecx, edx
push ecx
push eax
mov ecx, esi
call fcn.00488030
mov eax, dword [esi + 8]
cmp edi, eax
je 0x5d33e4
mov edx, dword [ebp + 0xc]
mov dword [edi], edx
add edi, ebx
cmp edi, eax
jne 0x5d33a2
jmp 0x5d33e4
push edi
push edi
lea eax, [edi - 4]
push eax
mov ecx, esi
call fcn.00423010
mov ecx, dword [esi + 8]
lea eax, [ecx - 4]
cmp edi, eax
je 0x5d33d2
sub eax, ebx
mov edx, dword [eax]
sub ecx, ebx
cmp eax, edi
mov dword [ecx], edx
jne 0x5d33c6
lea eax, [edi + 4]
cmp edi, eax
je 0x5d33e4
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, ebx
cmp edi, eax
jne 0x5d33d9
add dword [esi + 8], ebx
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x39
je 0x5d3427
push 8
push 0
push 1
push 0x93
push 1
push 0x64a178
push 0
push 0x12
push 0x249
push 0x238
push 8
mov ecx, eax
call fcn.005aa840
jmp 0x5d3429
xor eax, eax
mov edi, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub edx, edi
sar edx, 2
cmp edx, 1
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
jae 0x5d34e9
mov ecx, esi
call fcn.00509c00
cmp eax, 1
jbe 0x5d345b
mov ecx, esi
call fcn.00509c00
mov ebx, eax
jmp 0x5d3460
mov ebx, 1
mov ecx, esi
call fcn.00509c00
add eax, ebx
mov dword [ebp - 0x10], eax
jns 0x5d3470
xor eax, eax
shl eax, 2
push eax
call fcn.00604401
mov ecx, dword [esi + 4]
add esp, 4
mov ebx, eax
push ebx
push edi
push ecx
mov ecx, esi
call fcn.00423010
lea edx, [ebp + 0xc]
push edx
push 1
push eax
mov ecx, esi
mov dword [ebp + 8], eax
call fcn.00488030
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 8]
add eax, 4
push eax
push ecx
push edi
mov ecx, esi
call fcn.00423010
mov edx, dword [esi + 8]
push esi
or byte [ebx + 0x50520446], cl
mov ecx, esi
call fcn.00404190
mov eax, dword [esi + 4]
push eax
call fcn.005f8040
mov ecx, dword [ebp - 0x10]
lea edx, [ebx + ecx*4]
add esp, 4
mov ecx, esi
mov dword [esi + 0xc], edx
call fcn.00509c00
lea eax, [ebx + eax*4 + 4]
mov dword [esi + 8], eax
mov dword [esi + 4], ebx
jmp 0x5d356c
mov ecx, edi
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d3534
lea edx, [edi + 4]
push edx
push edi
push edi
mov ecx, esi
call fcn.00423010
mov eax, dword [esi + 8]
mov edx, eax
lea ecx, [ebp + 0xc]
push ecx
sub edx, edi
sar edx, 2
mov ecx, 1
sub ecx, edx
push ecx
push eax
mov ecx, esi
call fcn.00488030
mov eax, dword [esi + 8]
cmp edi, eax
je 0x5d3569
mov edx, dword [ebp + 0xc]
mov dword [edi], edx
add edi, ebx
cmp edi, eax
jne 0x5d3527
jmp 0x5d3569
push edi
push edi
lea eax, [edi - 4]
push eax
mov ecx, esi
call fcn.00423010
mov ecx, dword [esi + 8]
lea eax, [ecx - 4]
cmp edi, eax
je 0x5d3557
sub eax, ebx
mov edx, dword [eax]
sub ecx, ebx
cmp eax, edi
mov dword [ecx], edx
jne 0x5d354b
lea eax, [edi + 4]
cmp edi, eax
je 0x5d3569
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, ebx
cmp edi, eax
jne 0x5d355e
add dword [esi + 8], ebx
push 0x64
call fcn.00604401
add esp, 4
mov dword [ebp + 0xc], eax
test eax, eax
mov byte [ebp - 4], 0x3a
je 0x5d35af
push 2
push 0x1c
push 1
push 1
push 0
push 0x64a3d8
push 0x7802
push 0x20
push 0x40
push 0x208
push 0x203
mov ecx, eax
call fcn.00454210
mov dword [ebp + 8], eax
jmp 0x5d35b6
mov dword [ebp + 8], 0
mov edx, dword [ebp + 8]
mov ebx, dword [edx + 0x4c]
mov eax, dword [edx + 0x50]
lea edi, [edx + 0x44]
sub eax, ebx
sar eax, 2
cmp eax, 1
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], 1
jae 0x5d368c
mov ecx, edi
call fcn.00509c00
cmp eax, 1
jbe 0x5d35f3
mov ecx, edi
call fcn.00509c00
mov dword [ebp - 0x10], eax
jmp 0x5d35fa
mov dword [ebp - 0x10], 1
mov ecx, edi
call fcn.00509c00
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
jns 0x5d360b
xor eax, eax
lea ecx, [eax*4]
push ecx
call fcn.00604401
mov edx, dword [edi + 4]
add esp, 4
push eax
push ebx
push edx
mov ecx, edi
mov dword [ebp - 0x18], eax
call fcn.00423010
lea ecx, [ebp + 0xc]
push ecx
push 1
push eax
mov ecx, edi
mov dword [ebp - 0x10], eax
call fcn.00488030
mov edx, dword [ebp - 0x10]
mov eax, dword [edi + 8]
add edx, 4
push edx
push eax
push ebx
mov ecx, edi
call fcn.00423010
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
push ecx
push edx
mov ecx, edi
call fcn.00404190
mov eax, dword [edi + 4]
push eax
call fcn.005f8040
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
lea edx, [ebx + ecx*4]
add esp, 4
mov ecx, edi
mov dword [edi + 0xc], edx
call fcn.00509c00
lea eax, [ebx + eax*4 + 4]
mov dword [edi + 8], eax
mov dword [edi + 4], ebx
jmp 0x5d3717
mov ecx, ebx
sub ecx, ebx
sar ecx, 2
cmp ecx, 1
jae 0x5d36da
lea edx, [ebx + 4]
push edx
push ebx
push ebx
mov ecx, edi
call fcn.00423010
mov eax, dword [edi + 8]
mov edx, eax
lea ecx, [ebp + 0xc]
push ecx
sub edx, ebx
sar edx, 2
mov ecx, 1
sub ecx, edx
push ecx
push eax
mov ecx, edi
call fcn.00488030
mov ecx, dword [edi + 8]
cmp ebx, ecx
mov eax, ebx
je 0x5d3713
mov edx, dword [ebp + 0xc]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jne 0x5d36cc
jmp 0x5d3713
push ebx
push ebx
lea eax, [ebx - 4]
push eax
mov ecx, edi
call fcn.00423010
mov ecx, dword [edi + 8]
lea eax, [ecx - 4]
cmp ebx, eax
je 0x5d3700
mov edx, dword [eax - 4]
sub eax, 4
sub ecx, 4
cmp eax, ebx
mov dword [ecx], edx
jne 0x5d36f1
lea eax, [ebx + 4]
cmp ebx, eax
je 0x5d3713
mov ecx, dword [ebp + 0xc]
mov dword [ebx], ecx
add ebx, 4
cmp ebx, eax
jne 0x5d3707
add dword [edi + 8], 4
mov edi, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 8]
sub eax, edi
sar eax, 2
cmp eax, 1
mov dword [ebp + 0xc], edx
jae 0x5d37da
mov ecx, esi
call fcn.00509c00
cmp eax, 1
jbe 0x5d3748
mov ecx, esi
call fcn.00509c00
mov ebx, eax
jmp 0x5d374d
mov ebx, 1
mov ecx, esi
call fcn.00509c00
add eax, ebx
mov dword [ebp - 0x1c], eax
jns 0x5d375d
xor eax, eax
lea ecx, [eax*4]
push ecx
call fcn.00604401
mov edx, dword [esi + 4]
add esp, 4
mov ebx, eax
push ebx
push edi
push edx
mov ecx, esi
call fcn.00423010
lea ecx, [ebp + 0xc]
push ecx
push 1
push eax
mov ecx, esi
mov dword [ebp + 8], eax
call fcn.00488030
mov edx, dword [ebp + 8]
mov eax, dword [esi + 8]
add edx, 4
push edx
push eax
push edi
mov ecx, esi
call fcn.00423010
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push ecx
push edx
mov ecx, esi
call fcn.00404190
mov eax, dword [esi + 4]
push eax
call fcn.005f8040
mov ecx, dword [ebp - 0x1c]
lea edx, [ebx + ecx*4]
add esp, 4
mov ecx, esi
mov dword [esi + 0xc], edx
call fcn.00509c00
lea eax, [ebx + eax*4 + 4]
mov dword [esi + 8], eax
mov dword [esi + 4], ebx
jmp 0x5d3863
mov ecx, edi
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d3826
lea edx, [edi + 4]
push edx
push edi
push edi
mov ecx, esi
call fcn.00423010
mov eax, dword [esi + 8]
mov edx, eax
lea ecx, [ebp + 0xc]
push ecx
sub edx, edi
sar edx, 2
mov ecx, 1
sub ecx, edx
push ecx
push eax
mov ecx, esi
call fcn.00488030
mov eax, dword [esi + 8]
cmp edi, eax
je 0x5d385f
mov edx, dword [ebp + 0xc]
mov dword [edi], edx
add edi, 4
cmp edi, eax
jne 0x5d3818
jmp 0x5d385f
push edi
push edi
lea eax, [edi - 4]
push eax
mov ecx, esi
call fcn.00423010
mov ecx, dword [esi + 8]
lea eax, [ecx - 4]
cmp edi, eax
je 0x5d384c
mov edx, dword [eax - 4]
sub eax, 4
sub ecx, 4
cmp eax, edi
mov dword [ecx], edx
jne 0x5d383d
lea eax, [edi + 4]
cmp edi, eax
je 0x5d385f
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, 4
cmp edi, eax
jne 0x5d3853
add dword [esi + 8], 4
mov edi, dword [ebp - 0x14]
mov esi, dword [edi + 0x34]
cmp esi, dword [edi + 0x38]
je 0x5d388f
mov eax, dword [esi]
test eax, eax
je 0x5d3880
push 0xffffffffffffffff
push eax
mov ecx, edi
call fcn.005ec5b0
jmp 0x5d3885
call fcn.004e7fe0
mov eax, dword [edi + 0x38]
add esi, 4
cmp esi, eax
jne 0x5d386e
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8