Function at 0x4877f8
Capabilities:
Contain obfuscated stackstrings
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x434
push 0
push 0
dec ecx
jne 0x487800
push ebx
push esi
push edi
mov esi, edx
lea edi, [ebp - 0x201e]
mov ecx, 0x800
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x488d48
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x201c]
mov eax, dword [eax]
sub eax, 0x64
je 0x488c7a
sub eax, 0xa
je 0x488c6e
sub eax, 0xa
jne 0x488c9e
lea ebx, [ebp - 0x201c]
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 4]
call fcn.0048910c
mov esi, eax
test esi, esi
jne 0x487875
mov eax, dword [ebp - 4]
mov byte [eax + 0x38c], 0
jmp 0x488c9e
cmp dword [ebx + 8], 0x3e9
jne 0x487ee2
lea eax, [ebp - 8]
lea edx, [ebx + 0x14]
mov ecx, 0x1000
call fcn.00404a58
lea edx, [ebp - 0x2024]
mov edi, dword [esi + 4]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x1c]
lea eax, [ebp - 0x2024]
mov edx, dword [ebp - 8]
call fcn.00404acc
mov edx, dword [ebp - 0x2024]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 0x10]
jne 0x487ee2
cmp dword [ebp - 8], 0
jne 0x48790d
xor edx, edx
mov eax, dword [esi + 4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
push 0x488d64
push dword [esi + 0x20]
push 0x488d74
push dword [esi + 0x28]
push 0x488d80
lea eax, [ebp - 0xc]
mov edx, 5
call fcn.00404b84
mov ecx, esi
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00489b08
jmp 0x487ee2
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0047f5a0
xor edx, edx
mov eax, dword [esi + 4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, dword [esi + 0x24]
call fcn.00404c10
jne 0x487ec4
lea eax, [esi + 0x28]
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 0xc]
call fcn.0040483c
lea edx, [ebp - 0x202c]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x1c]
call fcn.00408c8c
mov ecx, dword [ebp - 0x202c]
lea eax, [ebp - 0x2028]
mov edx, 0x488d8c
call fcn.00404b10
mov eax, dword [ebp - 0x2028]
call fcn.00408ef8
mov dword [esi + 0x2c], eax
lea edx, [ebp - 0x2034]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x20]
call fcn.00408c8c
mov ecx, dword [ebp - 0x2034]
lea eax, [ebp - 0x2030]
mov edx, 0x488d8c
call fcn.00404b10
mov eax, dword [ebp - 0x2030]
call fcn.00408ef8
mov dword [esi + 0x30], eax
lea edx, [ebp - 0x2038]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x24]
call fcn.00408c8c
mov eax, dword [ebp - 0x2038]
mov edx, 0x488d98
call fcn.00404c10
jne 0x4879d7
mov byte [esi + 0x55], 0
jmp 0x4879db
mov byte [esi + 0x55], 1
mov byte [esi + 0x40], 1
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 0x2044]
mov eax, dword [esi + 8]
call fcn.0047587c
mov eax, dword [ebp - 0x2044]
mov dword [ebp - 0x2040], eax
mov byte [ebp - 0x203c], 0xb
lea edx, [ebp - 0x2040]
xor ecx, ecx
mov eax, 0x488da4
call fcn.00409cd8
mov eax, dword [esi + 4]
mov edx, dword [eax]
call dword [edx + 0x44]
push 0
push 0x3ee
push 1
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [esi + 8]
mov edx, 0x64
mov eax, dword [ebp - 4]
call fcn.004875a4
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x2064], eax
mov byte [ebp - 0x2060], 0xb
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x205c], eax
mov byte [ebp - 0x2058], 0xb
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x2054], eax
mov byte [ebp - 0x2050], 0
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x204c], eax
mov byte [ebp - 0x2048], 0
lea edx, [ebp - 0x2064]
mov ecx, 3
mov eax, 0x488e00
call fcn.00409cd8
mov ecx, esi
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00489b08
push 0xa
call sub.kernel32.dll_Sleep_1
cmp byte [esi + 0x54], 0
je 0x487b14
lea eax, [ebp - 8]
push eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x2040], eax
mov byte [ebp - 0x203c], 0xb
lea edx, [ebp - 0x2040]
xor ecx, ecx
mov eax, 0x488e1c
call fcn.00409cd8
mov eax, dword [esi + 4]
mov edx, dword [eax]
call dword [edx + 0x44]
push 0
push 0x3ed
push 1
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [esi + 8]
mov edx, 0x64
mov eax, dword [ebp - 4]
call fcn.004875a4
mov byte [esi + 0x54], 0
mov eax, dword [esi + 4]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 4]
mov byte [eax + 0x38c], 0
jmp 0x488c9e
lea eax, [ebp - 0xc]
call fcn.004047e8
lea eax, [ebp - 0x2068]
push eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x20b0], eax
mov byte [ebp - 0x20ac], 0xb
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x20a8], eax
mov byte [ebp - 0x20a4], 0xb
mov eax, dword [esi + 0x5c]
mov dword [ebp - 0x20a0], eax
mov byte [ebp - 0x209c], 0
mov eax, dword [esi + 0x60]
mov dword [ebp - 0x2098], eax
mov byte [ebp - 0x2094], 0
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x2090], eax
mov byte [ebp - 0x208c], 0
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x2088], eax
mov byte [ebp - 0x2084], 0
xor eax, eax
mov al, byte [esi + 0x55]
mov dword [ebp - 0x2080], eax
mov byte [ebp - 0x207c], 0
lea edx, [ebp - 0x20b4]
mov eax, dword [esi + 8]
call fcn.0047587c
mov eax, dword [ebp - 0x20b4]
mov dword [ebp - 0x2078], eax
mov byte [ebp - 0x2074], 0xb
mov eax, dword [esi + 0x64]
mov dword [ebp - 0x2070], eax
mov byte [ebp - 0x206c], 0
lea edx, [ebp - 0x20b0]
mov ecx, 8
mov eax, 0x488e78
call fcn.00409cd8
mov edx, dword [ebp - 0x2068]
mov eax, dword [ebp - 4]
call fcn.0048943c
push 0x488ea4
lea edx, [ebp - 0x20b8]
mov eax, dword [esi + 8]
call fcn.0047587c
push dword [ebp - 0x20b8]
push 0x488ed0
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404b84
mov eax, dword [esi + 4]
mov edx, dword [eax]
call dword [edx + 0x44]
push 0
push 0x3ea
push 1
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [esi + 8]
mov edx, 0x64
mov eax, dword [ebp - 4]
call fcn.004875a4
lea eax, [ebp - 0x1c]
push eax
push esi
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.0048a374
cmp dword [ebp - 0x14], 0xffffffff
jle 0x487d05
call fcn.0040ad70
mov eax, dword [ebp - 0x14]
test eax, eax
jns 0x487c65
add eax, 0x1f
sar eax, 5
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x14]
and edx, 0x8000001f
jns 0x487c84
dec edx
or edx, 0xffffffe0
inc edx
imul edx, edx, 0x67
fstp qword [eax + edx + 0x3b7]
wait
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0x14]
test eax, eax
jns 0x487c9d
add eax, 0x1f
sar eax, 5
inc eax
mov dword [ebp - 0x20c8], eax
mov byte [ebp - 0x20c4], 0
mov eax, dword [ebp - 0x14]
and eax, 0x8000001f
jns 0x487cbd
dec eax
or eax, 0xffffffe0
inc eax
inc eax
mov dword [ebp - 0x20c0], eax
mov byte [ebp - 0x20bc], 0
lea edx, [ebp - 0x20c8]
mov ecx, 1
mov eax, 0x488edc
call fcn.00409cd8
mov eax, dword [esi + 4]
mov edx, dword [eax]
call dword [edx + 0x44]
push 0
push 0x3ec
push 1
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [esi + 8]
mov edx, 0x64
mov eax, dword [ebp - 4]
call fcn.004875a4
cmp dword [ebp - 0x18], 0xffffffff
jle 0x487dbe
call fcn.0040ad70
mov eax, dword [ebp - 0x18]
test eax, eax
jns 0x487d1e
add eax, 0x1f
sar eax, 5
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x18]
and edx, 0x8000001f
jns 0x487d3d
dec edx
or edx, 0xffffffe0
inc edx
imul edx, edx, 0x67
fstp qword [eax + edx + 0x3b7]
wait
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0x18]
test eax, eax
jns 0x487d56
add eax, 0x1f
sar eax, 5
inc eax
mov dword [ebp - 0x20c8], eax
mov byte [ebp - 0x20c4], 0
mov eax, dword [ebp - 0x18]
and eax, 0x8000001f
jns 0x487d76
dec eax
or eax, 0xffffffe0
inc eax
inc eax
mov dword [ebp - 0x20c0], eax
mov byte [ebp - 0x20bc], 0
lea edx, [ebp - 0x20c8]
mov ecx, 1
mov eax, 0x488edc
call fcn.00409cd8
mov eax, dword [esi + 4]
mov edx, dword [eax]
call dword [edx + 0x44]
push 0
push 0x3ec
push 1
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [esi + 8]
mov edx, 0x64
mov eax, dword [ebp - 4]
call fcn.004875a4
cmp dword [ebp - 0x1c], 0xffffffff
jle 0x487e77
call fcn.0040ad70
mov eax, dword [ebp - 0x1c]
test eax, eax
jns 0x487dd7
add eax, 0x1f
sar eax, 5
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x1c]
and edx, 0x8000001f
jns 0x487df6
dec edx
or edx, 0xffffffe0
inc edx
imul edx, edx, 0x67
fstp qword [eax + edx + 0x3b7]
wait
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0x1c]
test eax, eax
jns 0x487e0f
add eax, 0x1f
sar eax, 5
inc eax
mov dword [ebp - 0x20c8], eax
mov byte [ebp - 0x20c4], 0
mov eax, dword [ebp - 0x1c]
and eax, 0x8000001f
jns 0x487e2f
dec eax
or eax, 0xffffffe0
inc eax
inc eax
mov dword [ebp - 0x20c0], eax
mov byte [ebp - 0x20bc], 0
lea edx, [ebp - 0x20c8]
mov ecx, 1
mov eax, 0x488edc
call fcn.00409cd8
mov eax, dword [esi + 4]
mov edx, dword [eax]
call dword [edx + 0x44]
push 0
push 0x3ec
push 1
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [esi + 8]
mov edx, 0x64
mov eax, dword [ebp - 4]
call fcn.004875a4
lea eax, [ebp - 8]
push eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x2040], eax
mov byte [ebp - 0x203c], 0xb
lea edx, [ebp - 0x2040]
xor ecx, ecx
mov eax, 0x488e1c
call fcn.00409cd8
mov eax, dword [esi + 4]
mov edx, dword [eax]
call dword [edx + 0x44]
push 0
push 0x3ed
push 1
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [esi + 8]
mov edx, 0x64
mov eax, dword [ebp - 4]
call fcn.004875a4
jmp 0x487ee2
lea eax, [ebp - 0xc]
mov edx, 0x488f10
call fcn.00404880
mov ecx, esi
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00489b08
mov byte [esi + 0x40], 0
cmp dword [ebx + 8], 0x3ea
jne 0x487ff1
lea eax, [ebp - 8]
lea edx, [ebx + 0x14]
mov ecx, 0x1000
call fcn.00404a58
lea edx, [ebp - 0x20cc]
mov edi, dword [esi + 4]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x1c]
lea eax, [ebp - 0x20cc]
mov edx, dword [ebp - 8]
call fcn.00404acc
mov edx, dword [ebp - 0x20cc]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 0x10]
jne 0x487ff1
cmp dword [ebp - 8], 0
je 0x487ff1
mov byte [esi + 0x41], 1
mov eax, dword [esi + 8]
call fcn.0047558c
lea eax, [ebp - 8]
push eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x20c8], eax
mov byte [ebp - 0x20c4], 0xb
lea eax, [ebp - 0x20d0]
push eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x20e0], eax
mov byte [ebp - 0x20dc], 0xb
lea edx, [ebp - 0x20e4]
mov eax, dword [esi + 8]
call fcn.0047587c
mov eax, dword [ebp - 0x20e4]
mov dword [ebp - 0x20d8], eax
mov byte [ebp - 0x20d4], 0xb
lea edx, [ebp - 0x20e0]
mov ecx, 1
mov eax, 0x488f20
call fcn.00409cd8
mov eax, dword [ebp - 0x20d0]
mov dword [ebp - 0x20c0], eax
mov byte [ebp - 0x20bc], 0xb
lea edx, [ebp - 0x20c8]
mov ecx, 1
mov eax, 0x488f3c
call fcn.00409cd8
push 0
push 0x7d2
push 0
mov eax, dword [ebp - 8]
push eax
xor ecx, ecx
mov edx, 0x64
mov eax, dword [ebp - 4]
call fcn.004875a4
cmp dword [ebx + 8], 0x3eb
jne 0x4882e9
lea eax, [ebp - 8]
lea edx, [ebx + 0x14]
mov ecx, 0x1000
call fcn.00404a58
lea edx, [ebp - 0x20e8]
mov ebx, dword [esi + 4]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x1c]
lea eax, [ebp - 0x20e8]
mov edx, dword [ebp - 8]
call fcn.00404acc
mov edx, dword [ebp - 0x20e8]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
cmp dword [ebp - 8], 0
jne 0x4882a1
lea eax, [ebp - 8]
push eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x2110], eax
mov byte [ebp - 0x210c], 0xb
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x2108], eax
mov byte [ebp - 0x2104], 0xb
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x2100], eax
mov byte [ebp - 0x20fc], 0xb
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0x20f8], eax
mov byte [ebp - 0x20f4], 0xb
mov eax, 0x488f98
mov dword [ebp - 0x20f0], eax
mov byte [ebp - 0x20ec], 0xb
lea edx, [ebp - 0x2110]
mov ecx, 4
mov eax, 0x488fa8
call fcn.00409cd8
push 0
push 0x7d2
push 0
mov eax, dword [ebp - 8]
push eax
xor ecx, ecx
mov edx, 0x64
mov eax, dword [ebp - 4]
call fcn.004875a4
lea eax, [ebp - 8]
push eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x20c8], eax
mov byte [ebp - 0x20c4], 0xb
lea eax, [ebp - 0x2114]
push eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x20e0], eax
mov byte [ebp - 0x20dc], 0xb
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x20d8], eax
mov byte [ebp - 0x20d4], 0xb
lea edx, [ebp - 0x20e0]
mov ecx, 1
mov eax, 0x489020
call fcn.00409cd8
mov eax, dword [ebp - 0x2114]
mov dword [ebp - 0x20c0], eax
mov byte [ebp - 0x20bc], 0xb
lea edx, [ebp - 0x20c8]
mov ecx, 1
mov eax, 0x488f3c
call fcn.00409cd8
push 0
push 0x7d2
push 0
mov eax, dword [ebp - 8]
push eax
xor ecx, ecx
mov edx, 0x64
mov eax, dword [ebp - 4]
call fcn.004875a4
lea eax, [ebp - 0x2118]
push eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x2064], eax
mov byte [ebp - 0x2060], 0xb
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x205c], eax
mov byte [ebp - 0x2058], 0xb
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x2054], eax
mov byte [ebp - 0x2050], 0
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x204c], eax
mov byte [ebp - 0x2048], 0
lea edx, [ebp - 0x2064]
mov ecx, 3
mov eax, 0x488e00
call fcn.00409cd8
mov edx, dword [ebp - 0x2118]
mov ecx, esi
mov eax, dword [ebp - 4]
call fcn.00489b08
xor eax, eax
mov dword [esi + 0x2c], eax
xor eax, eax
mov dword [esi + 0x30], eax
mov byte [esi + 0x40], 1
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x20b0], eax
mov byte [ebp - 0x20ac], 0xb
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x20a8], eax
mov byte [ebp - 0x20a4], 0xb
mov eax, dword [esi + 0x5c]
mov dword [ebp - 0x20a0], eax
mov byte [ebp - 0x209c], 0
mov eax, dword [esi + 0x60]
mov dword [ebp - 0x2098], eax
mov byte [ebp - 0x2094], 0
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x2090], eax
mov byte [ebp - 0x208c], 0
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x2088], eax
mov byte [ebp - 0x2084], 0
xor eax, eax
mov al, byte [esi + 0x55]
mov dword [ebp - 0x2080], eax
mov byte [ebp - 0x207c], 0
lea edx, [ebp - 0x211c]
mov eax, dword [esi + 8]
call fcn.0047587c
mov eax, dword [ebp - 0x211c]
mov dword [ebp - 0x2078], eax
mov byte [ebp - 0x2074], 0xb
mov eax, dword [esi + 0x64]
mov dword [ebp - 0x2070], eax
mov byte [ebp - 0x206c], 0
lea edx, [ebp - 0x20b0]
mov ecx, 8
mov eax, 0x488e78
call fcn.00409cd8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0048943c
jmp 0x4882da
lea eax, [ebp - 0x2120]
push eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x2040], eax
mov byte [ebp - 0x203c], 0xb
lea edx, [ebp - 0x2040]
xor ecx, ecx
mov eax, 0x48903c
call fcn.00409cd8
mov edx, dword [ebp - 0x2120]
mov ecx, esi
mov eax, dword [ebp - 4]
call fcn.00489b08
mov eax, dword [ebp - 4]
mov byte [eax + 0x38c], 0
jmp 0x488c9e
cmp dword [ebx + 8], 0x3ec
jne 0x488b40
lea eax, [ebp - 8]
lea edx, [ebx + 0x14]
mov ecx, 0x1000
call fcn.00404a58
lea edx, [ebp - 0x2124]
mov ebx, dword [esi + 4]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x1c]
lea eax, [ebp - 0x2124]
mov edx, dword [ebp - 8]
call fcn.00404acc
mov edx, dword [ebp - 0x2124]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
cmp dword [ebp - 8], 0
jne 0x488366
lea eax, [ebp - 0x2128]
push eax
lea edx, [ebp - 0x2128]
or ecx, 0xffffffff
mov eax, 0x489050
call fcn.00409cd8
mov edx, dword [ebp - 0x2128]
mov ecx, esi
mov eax, dword [ebp - 4]
call fcn.00489b08
jmp 0x488b31
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0047f5a0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
lea eax, [edx + eax - 0x990]
push eax
call fcn.0040ad70
pop eax
fstp qword [eax]
wait
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xc]
xor edx, edx
call fcn.00408f34
test eax, eax
jne 0x488557
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50e4]
call fcn.00405a04
mov edx, eax
xor eax, eax
call fcn.0043bbe0
inc eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x212c]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
dec eax
mov ebx, eax
shl ebx, 5
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
dec eax
add ebx, eax
mov dword [ebp - 0x215c], ebx
mov byte [ebp - 0x2158], 0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2154], eax
mov byte [ebp - 0x2150], 0
mov dword [ebp - 0x214c], 1
mov byte [ebp - 0x2148], 0
lea edx, [ebp - 0x2160]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x18]
call fcn.00408c8c
mov eax, dword [ebp - 0x2160]
mov dword [ebp - 0x2144], eax
mov byte [ebp - 0x2140], 0xb
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov eax, dword [edx + eax - 0x9a5]
mov dword [ebp - 0x213c], eax
mov byte [ebp - 0x2138], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov eax, dword [edx + eax - 0x9a9]
mov dword [ebp - 0x2134], eax
mov byte [ebp - 0x2130], 0
lea edx, [ebp - 0x215c]
mov ecx, 5
mov eax, 0x489060
call fcn.00409cd8
mov edx, dword [ebp - 0x212c]
mov ecx, esi
mov eax, dword [ebp - 4]
call fcn.00489b08
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2178], eax
mov byte [ebp - 0x2174], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2170], eax
mov byte [ebp - 0x216c], 0xb
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0x2168], eax
mov byte [ebp - 0x2164], 0xb
lea edx, [ebp - 0x2178]
mov ecx, 2
mov eax, 0x489084
call fcn.00409cd8
push 0
push 0x7d2
push 0
mov eax, dword [ebp - 8]
push eax
xor ecx, ecx
mov edx, 0x64
mov eax, dword [ebp - 4]
call fcn.004875a4
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.00408f34
test eax, eax
jle 0x48882b
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov byte [edx + eax - 0x974], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov eax, dword [edx + eax - 0x973]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov byte [edx + eax - 0x95a], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov byte [edx + eax - 0x99d], 1
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.00408f34
mov ebx, eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov dword [edx + eax - 0x99c], ebx
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov dword [edx + eax - 0x998], 3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
xor ecx, ecx
mov dword [edx + eax - 0x994], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
lea eax, [edx + eax - 0x95e]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
call fcn.00408ef8
pop edx
mov dword [edx], eax
lea eax, [ebp - 0x217c]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
dec eax
mov ebx, eax
shl ebx, 5
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
dec eax
add ebx, eax
mov dword [ebp - 0x215c], ebx
mov byte [ebp - 0x2158], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2154], eax
mov byte [ebp - 0x2150], 0xb
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
call fcn.00408ef8
dec eax
mov dword [ebp - 0x214c], eax
mov byte [ebp - 0x2148], 0
lea edx, [ebp - 0x2180]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x18]
call fcn.00408c8c
mov eax, dword [ebp - 0x2180]
mov dword [ebp - 0x2144], eax
mov byte [ebp - 0x2140], 0xb
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov eax, dword [edx + eax - 0x9a5]
mov dword [ebp - 0x213c], eax
mov byte [ebp - 0x2138], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov eax, dword [edx + eax - 0x9a9]
mov dword [ebp - 0x2134], eax
mov byte [ebp - 0x2130], 0
lea edx, [ebp - 0x215c]
mov ecx, 5
mov eax, 0x4890cc
call fcn.00409cd8
mov edx, dword [ebp - 0x217c]
mov ecx, esi
mov eax, dword [ebp - 4]
call fcn.00489b08
jmp 0x488ae5
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov byte [edx + eax - 0x974], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov eax, dword [edx + eax - 0x973]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov byte [edx + eax - 0x95a], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov byte [edx + eax - 0x99d], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
xor ecx, ecx
mov dword [edx + eax - 0x99c], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
xor ecx, ecx
mov dword [edx + eax - 0x998], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
xor ecx, ecx
mov dword [edx + eax - 0x994], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
lea eax, [edx + eax - 0x95e]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
call fcn.00408ef8
pop edx
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xc]
xor edx, edx
call fcn.00408f34
test eax, eax
jle 0x488ae5
lea eax, [ebp - 0x2184]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
dec eax
mov ebx, eax
shl ebx, 5
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
dec eax
add ebx, eax
mov dword [ebp - 0x215c], ebx
mov byte [ebp - 0x2158], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2154], eax
mov byte [ebp - 0x2150], 0xb
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x214c], eax
mov byte [ebp - 0x2148], 0xb
lea edx, [ebp - 0x2188]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x18]
call fcn.00408c8c
mov eax, dword [ebp - 0x2188]
mov dword [ebp - 0x2144], eax
mov byte [ebp - 0x2140], 0xb
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov eax, dword [edx + eax - 0x9a5]
mov dword [ebp - 0x213c], eax
mov byte [ebp - 0x2138], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov eax, dword [edx + eax - 0x9a9]
mov dword [ebp - 0x2134], eax
mov byte [ebp - 0x2130], 0
lea edx, [ebp - 0x215c]
mov ecx, 5
mov eax, 0x4890f0
call fcn.00409cd8
mov edx, dword [ebp - 0x2184]
mov ecx, esi
mov eax, dword [ebp - 4]
call fcn.00489b08
lea edx, [ebp - 0x218c]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x18]
call fcn.00408c8c
mov eax, dword [ebp - 0x218c]
call fcn.00408ef8
mov ebx, eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408ef8
imul eax, eax, 0x19c
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
call fcn.00408ef8
imul eax, eax, 0x67
pop edx
mov dword [edx + eax - 0x9a1], ebx
mov eax, dword [ebp - 4]
mov byte [eax + 0x38c], 0
jmp 0x488c9e
cmp dword [ebx + 8], 0x3ed
jne 0x488be9
lea eax, [ebp - 8]
lea edx, [ebx + 0x14]
mov ecx, 0x1000
call fcn.00404a58
lea edx, [ebp - 0x2190]
mov ebx, dword [esi + 4]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x1c]
lea eax, [ebp - 0x2190]
mov edx, dword [ebp - 8]
call fcn.00404acc
mov edx, dword [ebp - 0x2190]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
cmp dword [ebp - 8], 0
je 0x488bda
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0047f5a0
lea edx, [ebp - 0x2194]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.00408c8c
mov eax, dword [ebp - 0x2194]
xor edx, edx
call fcn.00408f34
mov dword [esi + 0x5c], eax
lea edx, [ebp - 0x2198]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
call fcn.00408c8c
mov eax, dword [ebp - 0x2198]
xor edx, edx
call fcn.00408f34
mov dword [esi + 0x60], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x38c], 0
jmp 0x488c9e
cmp dword [ebx + 8], 0x3ee
jne 0x488c9e
lea eax, [ebp - 8]
lea edx, [ebx + 0x14]
mov ecx, 0x1000
call fcn.00404a58
lea edx, [ebp - 0x219c]
mov ebx, dword [esi + 4]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x1c]
lea eax, [ebp - 0x219c]
mov edx, dword [ebp - 8]
call fcn.00404acc
mov edx, dword [ebp - 0x219c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
cmp dword [ebp - 8], 0
je 0x488c62
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0047f5a0
lea edx, [ebp - 0x21a0]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.00408c8c
mov eax, dword [ebp - 0x21a0]
xor edx, edx
call fcn.00408f34
mov dword [esi + 0x64], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x38c], 0
jmp 0x488c9e
mov eax, dword [ebp - 4]
mov byte [eax + 0x38c], 0
jmp 0x488c9e
lea ebx, [ebp - 0x201c]
cmp dword [ebx + 8], 0x3e8
jne 0x488c94
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0047f5a0
mov eax, dword [ebp - 4]
mov byte [eax + 0x38c], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x488d52
lea eax, [ebp - 0x21a0]
mov edx, 0xa
call fcn.0040480c
lea eax, [ebp - 0x2160]
call fcn.004047e8
lea eax, [ebp - 0x212c]
mov edx, 7
call fcn.0040480c
lea eax, [ebp - 0x20e8]
mov edx, 2
call fcn.0040480c
lea eax, [ebp - 0x20d0]
mov edx, 2
call fcn.0040480c
lea eax, [ebp - 0x20b8]
mov edx, 2
call fcn.0040480c
lea eax, [ebp - 0x2068]
call fcn.004047e8
lea eax, [ebp - 0x2044]
call fcn.004047e8
lea eax, [ebp - 0x2038]
mov edx, 6
call fcn.0040480c
lea eax, [ebp - 0x10]
mov edx, dword [0x47ee60]
call fcn.00405cd8
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.0040480c
ret