Function at 0x5d5aa0
Capabilities:
Get number of processors
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x623abf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
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 - 0x10], edi
call fcn.0041af90
mov dword [ebp - 4], 0
lea esi, [edi + 0x34]
mov dword [edi], 0x62ed28
mov eax, dword [esi]
test eax, eax
je 0x5d39b8
mov edx, dword [edi + 0x3c]
sub edx, eax
sar edx, 2
cmp edx, 0x90
jae 0x5d3a41
push 0x240
call fcn.00604401
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x18], eax
lea eax, [edi + 0x38]
mov dword [ebp + 8], eax
mov eax, dword [eax]
mov ebx, dword [esi]
add esp, 4
cmp ebx, eax
mov dword [ebp - 0x14], eax
je 0x5d39f9
mov ecx, dword [ebp + 0xc]
mov edx, ebx
call fcn.00404ba0
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x14]
add edx, 4
add ebx, 4
cmp ebx, eax
mov dword [ebp + 0xc], edx
jne 0x5d39dc
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [esi]
push ecx
lea ebx, [edi + 0x30]
push edx
mov ecx, ebx
call fcn.00404190
mov eax, dword [esi]
push eax
call fcn.005f8040
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 0x240]
mov dword [ebx + 0xc], ecx
mov edx, dword [esi]
add esp, 4
test edx, edx
jne 0x5d3a2d
xor ecx, ecx
jmp 0x5d3a37
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
sub ecx, edx
sar ecx, 2
lea edx, [eax + ecx*4]
mov ecx, dword [ebp + 8]
mov dword [ecx], edx
mov dword [esi], eax
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 1
je 0x5d3a77
mov edx, dword [edi + 0x24]
mov ecx, dword [edi + 0x20]
push 0x800
push str.PRBlue.pcx
push 0
push edx
push ecx
push 0
push 0
mov ecx, eax
call fcn.0044e690
jmp 0x5d3a79
xor eax, eax
lea edx, [ebp + 0xc]
push edx
lea esi, [edi + 0x30]
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3acd
mov ecx, dword [edi + 0x20]
push 8
push 0
push 1
push 1
push 7
push 0x64ba9c
push 0
push 0x1e
push ecx
push 0xf
push 0
mov ecx, eax
call fcn.005aa840
jmp 0x5d3acf
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3b24
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 0x5d3b26
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3b7b
push 0x10
push 0
push 0
push 0
push 0
push 0x64b18c
push 0xb
push 0x20
push 0x20
push 0x1e0
push 0x1ad
mov ecx, eax
call fcn.004de6f0
jmp 0x5d3b7d
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3bd2
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 9
push 0x2c
push 0x2c
push 0x1d5
push 0x87
mov ecx, eax
call fcn.004de6f0
jmp 0x5d3bd4
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3c26
push 8
push 0
push 1
push 4
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0x207
push 0x7c
mov ecx, eax
call fcn.005aa840
jmp 0x5d3c28
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3c7d
push 8
push 0
push 1
push 0xc
push 1
push 0x64a178
push 0
push 0x14
push 0x42
push 0x208
push 0x19b
mov ecx, eax
call fcn.005aa840
jmp 0x5d3c7f
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3cd1
push 8
push 0
push 1
push 0xe
push 1
push 0x64a178
push 0
push 0x14
push 0x101
push 0x30
push 0x1c
mov ecx, eax
call fcn.005aa840
jmp 0x5d3cd3
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3d2b
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 0x5d3d2d
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3d82
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 0x5d3d84
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3dd9
push 2
push 0
push 0
push 1
push 0
push str.PRRose.pcx
push 0x10
push 0x20
push 0x40
push 0x1d7
push 0x203
mov ecx, eax
call fcn.00454210
jmp 0x5d3ddb
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3e2d
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 0x5d3e2f
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3e81
push 2
push 0
push 0
push 1
push 0
push 0x671390
push 0x12
push 0x20
push 0x40
push 0x1d7
push 0x12
mov ecx, eax
call fcn.00454210
jmp 0x5d3e83
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3ed8
push 0x10
push 0
push 0
push 0
push 0
push 0x64b18c
push 0x2a
push 0x20
push 0x20
push 0xbe
push 0x15a
mov ecx, eax
call fcn.004de6f0
jmp 0x5d3eda
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3f2f
push 0x10
push 0
push 0
push 0
push 1
push 0x64b18c
push 0x2b
push 0x20
push 0x20
push 0xbe
push 0x1ad
mov ecx, eax
call fcn.004de6f0
jmp 0x5d3f31
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3f86
push 0x10
push 0
push 0
push 0
push 2
push 0x64b18c
push 0x2c
push 0x20
push 0x20
push 0xbe
push 0x200
mov ecx, eax
call fcn.004de6f0
jmp 0x5d3f88
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d3fdd
push 0x10
push 0
push 0
push 0
push 3
push 0x64b18c
push 0x2d
push 0x20
push 0x20
push 0x10d
push 0x15a
mov ecx, eax
call fcn.004de6f0
jmp 0x5d3fdf
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d4034
push 0x10
push 0
push 0
push 0
push 4
push 0x64b18c
push 0x2e
push 0x20
push 0x20
push 0x10d
push 0x1ad
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4036
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d408b
push 0x10
push 0
push 0
push 0
push 5
push 0x64b18c
push 0x2f
push 0x20
push 0x20
push 0x10d
push 0x200
mov ecx, eax
call fcn.004de6f0
jmp 0x5d408d
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d40e2
push 0x10
push 0
push 0
push 0
push 6
push 0x64b18c
push 0x30
push 0x20
push 0x20
push 0x15c
push 0x1ad
mov ecx, eax
call fcn.004de6f0
jmp 0x5d40e4
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d4139
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 0x5d413b
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d4190
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 0x5d4192
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d41e7
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 0x5d41e9
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d423e
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 0x5d4240
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d4295
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 0x5d4297
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d42ec
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 0x5d42ee
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d4343
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 0x5d4345
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d4395
push 0x800
push 0x671360
push 0x3f
push 0x46
push 0x4a
push 0xb4
push 0x145
mov ecx, eax
call fcn.0044e690
jmp 0x5d4397
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d43e7
push 0x800
push 0x671360
push 0x40
push 0x46
push 0x4a
push 0xb4
push 0x198
mov ecx, eax
call fcn.0044e690
jmp 0x5d43e9
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d4439
push 0x800
push 0x671360
push 0x41
push 0x46
push 0x4a
push 0xb4
push 0x1eb
mov ecx, eax
call fcn.0044e690
jmp 0x5d443b
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d448b
push 0x800
push 0x671360
push 0x42
push 0x46
push 0x4a
push 0x103
push 0x145
mov ecx, eax
call fcn.0044e690
jmp 0x5d448d
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d44dd
push 0x800
push 0x671360
push 0x43
push 0x46
push 0x4a
push 0x103
push 0x198
mov ecx, eax
call fcn.0044e690
jmp 0x5d44df
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d452f
push 0x800
push 0x671360
push 0x44
push 0x46
push 0x4a
push 0x103
push 0x1eb
mov ecx, eax
call fcn.0044e690
jmp 0x5d4531
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d4581
push 0x800
push 0x671360
push 0x45
push 0x46
push 0x4a
push 0x152
push 0x198
mov ecx, eax
call fcn.0044e690
jmp 0x5d4583
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d45d5
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x54
push 0x2c
push 0x2c
push 0x4c
push 0x94
mov ecx, eax
call fcn.004de6f0
jmp 0x5d45d7
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d462c
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x55
push 0x2c
push 0x2c
push 0x120
push 0xcf
mov ecx, eax
call fcn.004de6f0
jmp 0x5d462e
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d4680
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x56
push 0x2c
push 0x2c
push 0x7e
push 0x94
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4682
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d46d1
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x57
push 0x2c
push 0x2c
push 0x73
push 0x16
mov ecx, eax
call fcn.004de6f0
jmp 0x5d46d3
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d4728
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x58
push 0x2c
push 0x2c
push 0xe6
push 0xc9
mov ecx, eax
call fcn.004de6f0
jmp 0x5d472a
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d477f
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x59
push 0x2c
push 0x2c
push 0xb1
push 0x94
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4781
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
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 0x5d47d0
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x5a
push 0x2c
push 0x2c
push 0x73
push 0x46
mov ecx, eax
call fcn.004de6f0
jmp 0x5d47d2
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x2a
je 0x5d4827
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x5b
push 0x2c
push 0x2c
push 0xe6
push 0xf9
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4829
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x2b
je 0x5d487e
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x5c
push 0x2c
push 0x2c
push 0x155
push 0x9a
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4880
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x2c
je 0x5d48d2
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x5d
push 0x2c
push 0x2c
push 0xbd
push 0x16
mov ecx, eax
call fcn.004de6f0
jmp 0x5d48d4
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x2d
je 0x5d4926
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x5e
push 0x2c
push 0x2c
push 0xef
push 0x26
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4928
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x2e
je 0x5d497a
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x5f
push 0x2c
push 0x2c
push 0x122
push 0x36
mov ecx, eax
call fcn.004de6f0
jmp 0x5d497c
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x2f
je 0x5d49ce
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x60
push 0x2c
push 0x2c
push 0x155
push 0x46
mov ecx, eax
call fcn.004de6f0
jmp 0x5d49d0
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x30
je 0x5d4a22
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x61
push 0x2c
push 0x2c
push 0x4c
push 0xcb
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4a24
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x31
je 0x5d4a76
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x62
push 0x2c
push 0x2c
push 0x4c
push 0xf9
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4a78
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x32
je 0x5d4aca
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x63
push 0x2c
push 0x2c
push 0x7a
push 0xf9
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4acc
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x33
je 0x5d4b21
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x64
push 0x2c
push 0x2c
push 0xa8
push 0xf9
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4b23
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x34
je 0x5d4b78
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x65
push 0x2c
push 0x2c
push 0x165
push 0xf9
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4b7a
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x35
je 0x5d4bcc
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x66
push 0x2c
push 0x2c
push 0x19b
push 0x2a
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4bce
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x36
je 0x5d4c20
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x67
push 0x2c
push 0x2c
push 0x19b
push 0x58
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4c22
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x37
je 0x5d4c77
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x68
push 0x2c
push 0x2c
push 0x19b
push 0x86
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4c79
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x38
je 0x5d4cce
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x69
push 0x2c
push 0x2c
push 0x19b
push 0xb4
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4cd0
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x44
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x39
je 0x5d4d25
push 0x10
push 0
push 0
push 0
push 0
push str.abf01p.def
push 0x6a
push 0x2c
push 0x2c
push 0x19b
push 0xe2
mov ecx, eax
call fcn.004de6f0
jmp 0x5d4d27
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x64
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x3a
je 0x5d4d7c
push 2
push 0x4b
push 0
push 1
push 0
push 0x65f99c
push 0x82
push 0x2e
push 0x16
push 0x19a
push 0x12
mov ecx, eax
call fcn.00454210
jmp 0x5d4d7e
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x64
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x3b
je 0x5d4dd6
push 2
push 0x4d
push 0
push 1
push 0
push 0x65f990
push 0x83
push 0x2e
push 0x16
push 0x19a
push 0x10f
mov ecx, eax
call fcn.00454210
jmp 0x5d4dd8
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x3c
je 0x5d4e25
push 0x800
push 0x67141c
push 0x6b
push 0x30
push 0x30
push 0x4a
push 0x92
mov ecx, eax
call fcn.0044e690
jmp 0x5d4e27
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x3d
je 0x5d4e77
push 0x800
push 0x67141c
push 0x6c
push 0x30
push 0x30
push 0x11e
push 0xcd
mov ecx, eax
call fcn.0044e690
jmp 0x5d4e79
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x3e
je 0x5d4ec6
push 0x800
push 0x67141c
push 0x6d
push 0x30
push 0x30
push 0x7c
push 0x92
mov ecx, eax
call fcn.0044e690
jmp 0x5d4ec8
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x3f
je 0x5d4f12
push 0x800
push 0x67141c
push 0x6e
push 0x30
push 0x30
push 0x71
push 0x14
mov ecx, eax
call fcn.0044e690
jmp 0x5d4f14
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x40
je 0x5d4f64
push 0x800
push 0x67141c
push 0x6f
push 0x30
push 0x30
push 0xe4
push 0xc7
mov ecx, eax
call fcn.0044e690
jmp 0x5d4f66
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x41
je 0x5d4fb6
push 0x800
push 0x67141c
push 0x70
push 0x30
push 0x30
push 0xaf
push 0x92
mov ecx, eax
call fcn.0044e690
jmp 0x5d4fb8
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x42
je 0x5d5002
push 0x800
push 0x67141c
push 0x71
push 0x30
push 0x30
push 0x71
push 0x44
mov ecx, eax
call fcn.0044e690
jmp 0x5d5004
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x43
je 0x5d5054
push 0x800
push 0x67141c
push 0x72
push 0x30
push 0x30
push 0xe4
push 0xf7
mov ecx, eax
call fcn.0044e690
jmp 0x5d5056
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x44
je 0x5d50a6
push 0x800
push 0x67141c
push 0x73
push 0x30
push 0x30
push 0x153
push 0x98
mov ecx, eax
call fcn.0044e690
jmp 0x5d50a8
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x45
je 0x5d50f5
push 0x800
push 0x67141c
push 0x74
push 0x30
push 0x30
push 0xbb
push 0x14
mov ecx, eax
call fcn.0044e690
jmp 0x5d50f7
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x46
je 0x5d5144
push 0x800
push 0x67141c
push 0x75
push 0x30
push 0x30
push 0xed
push 0x24
mov ecx, eax
call fcn.0044e690
jmp 0x5d5146
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x47
je 0x5d5193
push 0x800
push 0x67141c
push 0x76
push 0x30
push 0x30
push 0x120
push 0x34
mov ecx, eax
call fcn.0044e690
jmp 0x5d5195
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x48
je 0x5d51e2
push 0x800
push 0x67141c
push 0x77
push 0x30
push 0x30
push 0x153
push 0x44
mov ecx, eax
call fcn.0044e690
jmp 0x5d51e4
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
push 1
push eax
mov ecx, esi
call fcn.004f9e20
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x49
je 0x5d5231
push 0x800
push 0x67141c
push 0x78
push 0x30
push 0x30
push 0x4a
push 0xc9
mov ecx, eax
call fcn.0044e690
jmp 0x5d5233
xor eax, eax
mov dword [ebp + 0xc], eax
mov byte [ebp - 4], 0
mov edi, dword [esi + 8]
mov eax, dword [esi + 0xc]
lea ebx, [esi + 8]
sub eax, edi
sar eax, 2
cmp eax, 1
jae 0x5d5303
mov ecx, esi
call fcn.00509c00
cmp eax, 1
jbe 0x5d5269
mov ecx, esi
call fcn.00509c00
mov dword [ebp + 8], eax
jmp 0x5d5270
mov dword [ebp + 8], 1
mov ecx, esi
call fcn.00509c00
add eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
jns 0x5d5281
xor eax, eax
lea ecx, [eax*4]
push ecx
call fcn.00604401
add esp, 4
push eax
mov dword [ebp + 8], eax
mov edx, dword [esi + 4]
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 - 0x18], eax
call fcn.00488030
mov edx, dword [ebp - 0x18]
mov eax, dword [ebx]
add edx, 4
push edx
push eax
push edi
mov ecx, esi
call fcn.00423010
mov ecx, dword [ebx]
mov edx, dword [esi + 4]
push ecx
lea edi, [esi + 4]
push edx
mov ecx, esi
call fcn.00404190
mov eax, dword [edi]
push eax
call fcn.005f8040
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x14]
lea edx, [ecx + eax*4]
add esp, 4
mov ecx, esi
mov dword [esi + 0xc], edx
call fcn.00509c00
mov ecx, dword [ebp + 8]
lea eax, [ecx + eax*4 + 4]
mov dword [ebx], eax
mov dword [edi], ecx
jmp 0x5d5388
mov ecx, edi
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d534d
lea edx, [edi + 4]
push edx
push edi
push edi
mov ecx, esi
call fcn.00423010
mov eax, dword [ebx]
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 [ebx]
cmp edi, eax
je 0x5d5385
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, 4
cmp edi, eax
jne 0x5d5342
jmp 0x5d5385
push edi
push edi
lea edx, [edi - 4]
push edx
mov ecx, esi
call fcn.00423010
mov ecx, dword [ebx]
lea eax, [ecx - 4]
cmp edi, eax
je 0x5d5372
mov edx, dword [eax - 4]
sub eax, 4
sub ecx, 4
cmp eax, edi
mov dword [ecx], edx
jne 0x5d5363
lea eax, [edi + 4]
cmp edi, eax
je 0x5d5385
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, 4
cmp edi, eax
jne 0x5d537c
add dword [ebx], 4
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x4a
je 0x5d53bd
push 0x800
push 0x67141c
push 0x79
push 0x30
push 0x30
push 0x4a
push 0xf7
mov ecx, eax
call fcn.0044e690
jmp 0x5d53bf
xor eax, eax
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x10]
lea esi, [eax + 0x30]
mov byte [ebp - 4], 0
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0xc]
lea ebx, [esi + 8]
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d5495
mov ecx, esi
call fcn.00509c00
cmp eax, 1
jbe 0x5d53fb
mov ecx, esi
call fcn.00509c00
mov dword [ebp + 8], eax
jmp 0x5d5402
mov dword [ebp + 8], 1
mov ecx, esi
call fcn.00509c00
add eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
jns 0x5d5413
xor eax, eax
lea edx, [eax*4]
push edx
call fcn.00604401
add esp, 4
push eax
mov dword [ebp + 8], eax
mov eax, dword [esi + 4]
push edi
push eax
mov ecx, esi
call fcn.00423010
lea ecx, [ebp + 0xc]
push ecx
push 1
push eax
mov ecx, esi
mov dword [ebp - 0x18], eax
call fcn.00488030
mov edx, dword [ebp - 0x18]
mov eax, dword [ebx]
add edx, 4
push edx
push eax
push edi
mov ecx, esi
call fcn.00423010
mov ecx, dword [ebx]
mov edx, dword [esi + 4]
push ecx
lea edi, [esi + 4]
push edx
mov ecx, esi
call fcn.00404190
mov eax, dword [edi]
push eax
call fcn.005f8040
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x14]
lea edx, [ecx + eax*4]
add esp, 4
mov ecx, esi
mov dword [esi + 0xc], edx
call fcn.00509c00
mov ecx, dword [ebp + 8]
lea eax, [ecx + eax*4 + 4]
mov dword [ebx], eax
mov dword [edi], ecx
jmp 0x5d551a
mov ecx, edi
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d54df
lea edx, [edi + 4]
push edx
push edi
push edi
mov ecx, esi
call fcn.00423010
mov eax, dword [ebx]
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 [ebx]
cmp edi, eax
je 0x5d5517
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, 4
cmp edi, eax
jne 0x5d54d4
jmp 0x5d5517
push edi
push edi
lea edx, [edi - 4]
push edx
mov ecx, esi
call fcn.00423010
mov ecx, dword [ebx]
lea eax, [ecx - 4]
cmp edi, eax
je 0x5d5504
mov edx, dword [eax - 4]
sub eax, 4
sub ecx, 4
cmp eax, edi
mov dword [ecx], edx
jne 0x5d54f5
lea eax, [edi + 4]
cmp edi, eax
je 0x5d5517
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, 4
cmp edi, eax
jne 0x5d550e
add dword [ebx], 4
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x4b
je 0x5d554f
push 0x800
push 0x67141c
push 0x7a
push 0x30
push 0x30
push 0x78
push 0xf7
mov ecx, eax
call fcn.0044e690
jmp 0x5d5551
xor eax, eax
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x10]
lea esi, [eax + 0x30]
mov byte [ebp - 4], 0
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0xc]
lea ebx, [esi + 8]
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d5627
mov ecx, esi
call fcn.00509c00
cmp eax, 1
jbe 0x5d558d
mov ecx, esi
call fcn.00509c00
mov dword [ebp + 8], eax
jmp 0x5d5594
mov dword [ebp + 8], 1
mov ecx, esi
call fcn.00509c00
add eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
jns 0x5d55a5
xor eax, eax
lea edx, [eax*4]
push edx
call fcn.00604401
add esp, 4
push eax
mov dword [ebp + 8], eax
mov eax, dword [esi + 4]
push edi
push eax
mov ecx, esi
call fcn.00423010
lea ecx, [ebp + 0xc]
push ecx
push 1
push eax
mov ecx, esi
mov dword [ebp - 0x18], eax
call fcn.00488030
mov edx, dword [ebp - 0x18]
mov eax, dword [ebx]
add edx, 4
push edx
push eax
push edi
mov ecx, esi
call fcn.00423010
mov ecx, dword [ebx]
mov edx, dword [esi + 4]
push ecx
lea edi, [esi + 4]
push edx
mov ecx, esi
call fcn.00404190
mov eax, dword [edi]
push eax
call fcn.005f8040
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x14]
lea edx, [ecx + eax*4]
add esp, 4
mov ecx, esi
mov dword [esi + 0xc], edx
call fcn.00509c00
mov ecx, dword [ebp + 8]
lea eax, [ecx + eax*4 + 4]
mov dword [ebx], eax
mov dword [edi], ecx
jmp 0x5d56ac
mov ecx, edi
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d5671
lea edx, [edi + 4]
push edx
push edi
push edi
mov ecx, esi
call fcn.00423010
mov eax, dword [ebx]
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 [ebx]
cmp edi, eax
je 0x5d56a9
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, 4
cmp edi, eax
jne 0x5d5666
jmp 0x5d56a9
push edi
push edi
lea edx, [edi - 4]
push edx
mov ecx, esi
call fcn.00423010
mov ecx, dword [ebx]
lea eax, [ecx - 4]
cmp edi, eax
je 0x5d5696
mov edx, dword [eax - 4]
sub eax, 4
sub ecx, 4
cmp eax, edi
mov dword [ecx], edx
jne 0x5d5687
lea eax, [edi + 4]
cmp edi, eax
je 0x5d56a9
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, 4
cmp edi, eax
jne 0x5d56a0
add dword [ebx], 4
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x4c
je 0x5d56e4
push 0x800
push 0x67141c
push 0x7b
push 0x30
push 0x30
push 0xa6
push 0xf7
mov ecx, eax
call fcn.0044e690
jmp 0x5d56e6
xor eax, eax
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x10]
lea esi, [eax + 0x30]
mov byte [ebp - 4], 0
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0xc]
lea ebx, [esi + 8]
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d57bc
mov ecx, esi
call fcn.00509c00
cmp eax, 1
jbe 0x5d5722
mov ecx, esi
call fcn.00509c00
mov dword [ebp + 8], eax
jmp 0x5d5729
mov dword [ebp + 8], 1
mov ecx, esi
call fcn.00509c00
add eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
jns 0x5d573a
xor eax, eax
lea edx, [eax*4]
push edx
call fcn.00604401
add esp, 4
push eax
mov dword [ebp + 8], eax
mov eax, dword [esi + 4]
push edi
push eax
mov ecx, esi
call fcn.00423010
lea ecx, [ebp + 0xc]
push ecx
push 1
push eax
mov ecx, esi
mov dword [ebp - 0x18], eax
call fcn.00488030
mov edx, dword [ebp - 0x18]
mov eax, dword [ebx]
add edx, 4
push edx
push eax
push edi
mov ecx, esi
call fcn.00423010
mov ecx, dword [ebx]
mov edx, dword [esi + 4]
push ecx
lea edi, [esi + 4]
push edx
mov ecx, esi
call fcn.00404190
mov eax, dword [edi]
push eax
call fcn.005f8040
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x14]
lea edx, [ecx + eax*4]
add esp, 4
mov ecx, esi
mov dword [esi + 0xc], edx
call fcn.00509c00
mov ecx, dword [ebp + 8]
lea eax, [ecx + eax*4 + 4]
mov dword [ebx], eax
mov dword [edi], ecx
jmp 0x5d5841
mov ecx, edi
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d5806
lea edx, [edi + 4]
push edx
push edi
push edi
mov ecx, esi
call fcn.00423010
mov eax, dword [ebx]
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 [ebx]
cmp edi, eax
je 0x5d583e
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, 4
cmp edi, eax
jne 0x5d57fb
jmp 0x5d583e
push edi
push edi
lea edx, [edi - 4]
push edx
mov ecx, esi
call fcn.00423010
mov ecx, dword [ebx]
lea eax, [ecx - 4]
cmp edi, eax
je 0x5d582b
mov edx, dword [eax - 4]
sub eax, 4
sub ecx, 4
cmp eax, edi
mov dword [ecx], edx
jne 0x5d581c
lea eax, [edi + 4]
cmp edi, eax
je 0x5d583e
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, 4
cmp edi, eax
jne 0x5d5835
add dword [ebx], 4
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x4d
je 0x5d5879
push 0x800
push 0x67141c
push 0x7c
push 0x30
push 0x30
push 0x163
push 0xf7
mov ecx, eax
call fcn.0044e690
jmp 0x5d587b
xor eax, eax
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x10]
lea esi, [eax + 0x30]
mov byte [ebp - 4], 0
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0xc]
lea ebx, [esi + 8]
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d5951
mov ecx, esi
call fcn.00509c00
cmp eax, 1
jbe 0x5d58b7
mov ecx, esi
call fcn.00509c00
mov dword [ebp + 8], eax
jmp 0x5d58be
mov dword [ebp + 8], 1
mov ecx, esi
call fcn.00509c00
add eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
jns 0x5d58cf
xor eax, eax
lea edx, [eax*4]
push edx
call fcn.00604401
add esp, 4
push eax
mov dword [ebp + 8], eax
mov eax, dword [esi + 4]
push edi
push eax
mov ecx, esi
call fcn.00423010
lea ecx, [ebp + 0xc]
push ecx
push 1
push eax
mov ecx, esi
mov dword [ebp - 0x18], eax
call fcn.00488030
mov edx, dword [ebp - 0x18]
mov eax, dword [ebx]
add edx, 4
push edx
push eax
push edi
mov ecx, esi
call fcn.00423010
mov ecx, dword [ebx]
mov edx, dword [esi + 4]
push ecx
lea edi, [esi + 4]
push edx
mov ecx, esi
call fcn.00404190
mov eax, dword [edi]
push eax
call fcn.005f8040
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x14]
lea edx, [ecx + eax*4]
add esp, 4
mov ecx, esi
mov dword [esi + 0xc], edx
call fcn.00509c00
mov ecx, dword [ebp + 8]
lea eax, [ecx + eax*4 + 4]
mov dword [ebx], eax
mov dword [edi], ecx
jmp 0x5d59d6
mov ecx, edi
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d599b
lea edx, [edi + 4]
push edx
push edi
push edi
mov ecx, esi
call fcn.00423010
mov eax, dword [ebx]
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 [ebx]
cmp edi, eax
je 0x5d59d3
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, 4
cmp edi, eax
jne 0x5d5990
jmp 0x5d59d3
push edi
push edi
lea edx, [edi - 4]
push edx
mov ecx, esi
call fcn.00423010
mov ecx, dword [ebx]
lea eax, [ecx - 4]
cmp edi, eax
je 0x5d59c0
mov edx, dword [eax - 4]
sub eax, 4
sub ecx, 4
cmp eax, edi
mov dword [ecx], edx
jne 0x5d59b1
lea eax, [edi + 4]
cmp edi, eax
je 0x5d59d3
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, 4
cmp edi, eax
jne 0x5d59ca
add dword [ebx], 4
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x4e
je 0x5d5a0b
push 0x800
push 0x67141c
push 0x7d
push 0x30
push 0x30
push 0x199
push 0x28
mov ecx, eax
call fcn.0044e690
jmp 0x5d5a0d
xor eax, eax
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x10]
lea esi, [eax + 0x30]
mov byte [ebp - 4], 0
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0xc]
lea ebx, [esi + 8]
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d5ae3
mov ecx, esi
call fcn.00509c00
cmp eax, 1
jbe 0x5d5a49
mov ecx, esi
call fcn.00509c00
mov dword [ebp + 8], eax
jmp 0x5d5a50
mov dword [ebp + 8], 1
mov ecx, esi
call fcn.00509c00
add eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
jns 0x5d5a61
xor eax, eax
lea edx, [eax*4]
push edx
call fcn.00604401
add esp, 4
push eax
mov dword [ebp + 8], eax
mov eax, dword [esi + 4]
push edi
push eax
mov ecx, esi
call fcn.00423010
lea ecx, [ebp + 0xc]
push ecx
push 1
push eax
mov ecx, esi
mov dword [ebp - 0x18], eax
call fcn.00488030
mov edx, dword [ebp - 0x18]
mov eax, dword [ebx]
add edx, 4
push edx
push eax
push edi
mov ecx, esi
call fcn.00423010
mov ecx, dword [ebx]
mov edx, dword [esi + 4]
push ecx
lea edi, [esi + 4]
push edx
mov ecx, esi
call fcn.00404190
mov eax, dword [edi]
push eax
call fcn.005f8040
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x14]
lea edx, [ecx + eax*4]
add esp, 4
mov ecx, esi
mov dword [esi + 0xc], edx
call fcn.00509c00
mov ecx, dword [ebp + 8]
lea eax, [ecx + eax*4 + 4]
mov dword [ebx], eax
mov dword [edi], ecx
jmp 0x5d5b6a
mov ecx, edi
sub ecx, edi
sar ecx, 2
cmp ecx, 1
jae 0x5d5b2f
lea edx, [edi + 4]
push edx
push edi
push edi
mov ecx, esi
call fcn.00423010
mov eax, dword [ebx]
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 ecx, dword [ebx]
cmp edi, ecx
mov eax, edi
je 0x5d5b67
mov edx, dword [ebp + 0xc]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jne 0x5d5b24
jmp 0x5d5b67
push edi
push edi
lea edx, [edi - 4]
push edx
mov ecx, esi
call fcn.00423010
mov ecx, dword [ebx]
lea eax, [ecx - 4]
cmp edi, eax
je 0x5d5b54
mov edx, dword [eax - 4]
sub eax, 4
sub ecx, 4
cmp eax, edi
mov dword [ecx], edx
jne 0x5d5b45
lea eax, [edi + 4]
cmp edi, eax
je 0x5d5b67
mov ecx, dword [ebp + 0xc]
mov dword [edi], ecx
add edi, 4
cmp edi, eax
jne 0x5d5b5e
add dword [ebx], 4
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x4f
je 0x5d5b9f
push 0x800
push 0x67141c
push 0x7e
push 0x30
push 0x30
push 0x199
push 0x56
mov ecx, eax
call fcn.0044e690
jmp 0x5d5ba1
xor eax, eax
mov edi, dword [ebp - 0x10]
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
lea esi, [edi + 0x30]
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004da9f0
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x50
je 0x5d5bf1
push 0x800
push 0x67141c
push 0x7f
push 0x30
push 0x30
push 0x199
push 0x84
mov ecx, eax
call fcn.0044e690
jmp 0x5d5bf3
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
call fcn.004da9f0
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x51
je 0x5d5c40
push 0x800
push 0x67141c
push 0x80
push 0x30
push 0x30
push 0x199
push 0xb2
mov ecx, eax
call fcn.0044e690
jmp 0x5d5c42
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov ecx, esi
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
call fcn.004da9f0
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x52
je 0x5d5c8f
push 0x800
push 0x67141c
push 0x81
push 0x30
push 0x30
push 0x199
push 0xe0
mov ecx, eax
call fcn.0044e690
jmp 0x5d5c91
xor eax, eax
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004da9f0
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x53
je 0x5d5cde
push 0x800
push 0x64ba88
push 0x92
push 0x12
push 0x249
push 0x238
push 8
mov ecx, eax
call fcn.0044e690
jmp 0x5d5ce0
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
call fcn.004da9f0
push 0x4c
call fcn.00604401
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
mov byte [ebp - 4], 0x54
je 0x5d5d32
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 0x5d5d34
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov ecx, esi
mov byte [ebp - 4], 0
mov dword [ebp + 0xc], eax
call fcn.004da9f0
push 0x64
call fcn.00604401
add esp, 4
mov dword [ebp + 0xc], eax
test eax, eax
mov byte [ebp - 4], 0x55
je 0x5d5d88
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 esi, eax
jmp 0x5d5d8a
xor esi, esi
push 1
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.004d6b60
mov dword [ebp + 0xc], esi
lea eax, [ebp + 0xc]
lea esi, [edi + 0x30]
push eax
mov ecx, esi
call fcn.004da9f0
mov ecx, esi
call fcn.004da9d0
lea ecx, [edi + 0x30]
mov esi, eax
call fcn.004da9e0
cmp esi, eax
je 0x5d5de3
mov eax, dword [esi]
test eax, eax
je 0x5d5dcf
push 0xffffffffffffffff
push eax
mov ecx, edi
call fcn.005ec5b0
jmp 0x5d5dd4
call fcn.004e7fe0
lea ecx, [edi + 0x30]
add esi, 4
call fcn.004da9e0
cmp esi, eax
jne 0x5d5dbd
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