Function at 0x487c20
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x59e837
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x10], esi
mov dword [esi], 0x5a9028
mov ecx, dword [esi + 0x297c]
xor edi, edi
cmp ecx, edi
mov dword [esp + 0x20], 0x21
je 0x487c63
mov eax, dword [ecx]
push 1
call dword [eax + 8]
mov dword [esi + 0x297c], edi
mov dword [0x6656dc], edi
mov ecx, dword [esi + 0x2168]
cmp ecx, edi
je 0x487c7f
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esi + 0x216c]
mov dword [esi + 0x2168], edi
cmp ecx, edi
je 0x487c95
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esi + 0x2170]
mov dword [esi + 0x216c], edi
cmp ecx, edi
je 0x487cab
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esi + 0x2160]
mov dword [esi + 0x2170], edi
cmp ecx, edi
je 0x487cc1
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esi + 0x2164]
mov dword [esi + 0x2160], edi
cmp ecx, edi
je 0x487cd7
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esi + 0x2178]
mov dword [esi + 0x2164], edi
cmp ecx, edi
je 0x487ced
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esi + 0x217c]
mov dword [esi + 0x2178], edi
cmp ecx, edi
je 0x487d03
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esi + 0x2414]
mov dword [esi + 0x217c], edi
cmp eax, edi
je 0x487d1c
push eax
call fcn.0050ae47
add esp, 4
mov eax, dword [esi + 0x2418]
cmp eax, edi
je 0x487d2f
push eax
call fcn.0050ae47
add esp, 4
mov eax, dword [esi + 0x2420]
cmp eax, edi
je 0x487d48
push eax
call fcn.005087f0
add esp, 4
mov dword [esi + 0x2420], edi
mov ecx, dword [esi + 0x2428]
cmp ecx, edi
je 0x487d5e
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0x2428], edi
mov ecx, dword [esi + 0x2174]
cmp ecx, edi
je 0x487d74
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x2174], edi
mov ecx, esi
call fcn.0048b8f0
mov ecx, esi
call fcn.00488590
mov ecx, esi
call fcn.0048fdc0
mov ecx, esi
call fcn.00496d00
mov ecx, esi
call fcn.00496ba0
lea edi, [esi + 0x2978]
mov byte [esp + 0x20], 0x20
mov ecx, edi
call fcn.004a92e0
mov edi, dword [edi]
push 0xc
push edi
call fcn.00402dc0
add esp, 8
lea ecx, [esi + 0x24a0]
mov byte [esp + 0x20], 0x1f
call fcn.004ba550
lea ebp, [esi + 0x246c]
mov dword [esp + 0x14], ebp
mov ebx, dword [ebp + 4]
mov edi, dword [ebp]
cmp edi, ebx
mov byte [esp + 0x20], 0x22
je 0x487def
push 0
mov ecx, edi
call fcn.0047ad50
add edi, 0xc
cmp edi, ebx
jne 0x487ddf
mov ecx, dword [ebp]
mov ebp, dword [ebp + 8]
sub ebp, ecx
mov eax, 0x2aaaaaab
imul ebp
sar edx, 1
mov eax, edx
mov byte [esp + 0x20], 0x1e
shr eax, 0x1f
add edx, eax
je 0x487e1e
lea edx, [edx + edx*2]
shl edx, 2
push edx
push ecx
call fcn.00402dc0
add esp, 8
lea ebx, [esi + 0x2460]
mov dword [esp + 0x14], ebx
mov ebp, dword [ebx + 4]
mov edi, dword [ebx]
cmp edi, ebp
mov byte [esp + 0x20], 0x23
je 0x487e46
push 0
mov ecx, edi
call fcn.0047ad50
add edi, 0xc
cmp edi, ebp
jne 0x487e36
mov edi, dword [ebx]
mov ecx, dword [ebx + 8]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
mov byte [esp + 0x20], 0x1d
shr eax, 0x1f
add edx, eax
je 0x487e74
lea ecx, [edx + edx*2]
shl ecx, 2
push ecx
push edi
call fcn.00402dc0
add esp, 8
mov ecx, dword [esi + 0x2448]
mov eax, dword [esi + 0x2450]
sub eax, ecx
mov byte [esp + 0x20], 0x1c
test ecx, ecx
je 0x487e99
test eax, eax
je 0x487e99
push eax
push ecx
call fcn.00402dc0
add esp, 8
mov ecx, dword [esi + 0x23fc]
mov eax, dword [esi + 0x2404]
sub eax, ecx
mov byte [esp + 0x20], 0x1a
test ecx, ecx
je 0x487ebe
test eax, eax
je 0x487ebe
push eax
push ecx
call fcn.00402dc0
add esp, 8
mov ecx, dword [esi + 0x23b8]
mov eax, dword [esi + 0x23c0]
sub eax, ecx
mov byte [esp + 0x20], 0x18
test ecx, ecx
je 0x487ee3
test eax, eax
je 0x487ee3
push eax
push ecx
call fcn.00402dc0
add esp, 8
lea edi, [esi + 0x2300]
mov dword [esp + 0x14], edi
mov dword [edi], 0x5a940c
lea ecx, [edi + 0x10]
mov byte [esp + 0x20], 0x24
call fcn.0049a590
add edi, 4
mov dword [esp + 0x14], edi
mov ecx, edi
mov byte [esp + 0x20], 0x25
call fcn.0049bbf0
mov edi, dword [edi]
push 0x2b8
push edi
mov byte [esp + 0x28], 0x17
call fcn.00402dc0
add esp, 8
lea ecx, [esi + 0x22f4]
mov byte [esp + 0x20], 0x16
call fcn.004ff460
lea edi, [esi + 0x2254]
mov dword [esp + 0x14], edi
lea ecx, [edi + 0x58]
mov byte [esp + 0x20], 0x28
call fcn.0049a160
lea ecx, [edi + 0x18]
mov byte [esp + 0x20], 0x27
call fcn.00402ac0
lea ecx, [edi + 0xc]
mov byte [esp + 0x20], 0x26
call fcn.004025c0
mov ecx, edi
mov byte [esp + 0x20], 0x15
call fcn.004025c0
mov ecx, dword [esi + 0x2248]
mov eax, dword [esi + 0x2250]
sub eax, ecx
mov byte [esp + 0x20], 0x14
sar eax, 4
je 0x487f9a
shl eax, 4
push eax
push ecx
call fcn.00402dc0
add esp, 8
mov ecx, dword [esi + 0x223c]
mov eax, dword [esi + 0x2244]
sub eax, ecx
mov byte [esp + 0x20], 0x13
test ecx, ecx
je 0x487fbf
test eax, eax
je 0x487fbf
push eax
push ecx
call fcn.00402dc0
add esp, 8
mov ecx, dword [esi + 0x2230]
mov eax, dword [esi + 0x2238]
sub eax, ecx
mov byte [esp + 0x20], 0x12
test ecx, ecx
je 0x487fe4
test eax, eax
je 0x487fe4
push eax
push ecx
call fcn.00402dc0
add esp, 8
mov ecx, dword [esi + 0x2224]
mov eax, dword [esi + 0x222c]
sub eax, ecx
mov byte [esp + 0x20], 0x11
test ecx, ecx
je 0x488009
test eax, eax
je 0x488009
push eax
push ecx
call fcn.00402dc0
add esp, 8
mov ecx, dword [esi + 0x2218]
mov eax, dword [esi + 0x2220]
sub eax, ecx
mov byte [esp + 0x20], 0x10
test ecx, ecx
je 0x48802e
test eax, eax
je 0x48802e
push eax
push ecx
call fcn.00402dc0
add esp, 8
mov ecx, dword [esi + 0x220c]
mov eax, dword [esi + 0x2214]
sub eax, ecx
mov byte [esp + 0x20], 0xf
test ecx, ecx
je 0x488053
test eax, eax
je 0x488053
push eax
push ecx
call fcn.00402dc0
add esp, 8
lea ebx, [esi + 0x2200]
mov dword [esp + 0x14], ebx
mov ebp, dword [ebx + 4]
mov edi, dword [ebx]
cmp edi, ebp
mov byte [esp + 0x20], 0x29
je 0x48807b
push 0
mov ecx, edi
call fcn.0047ad50
add edi, 0xc
cmp edi, ebp
jne 0x48806b
mov edi, dword [ebx]
mov ecx, dword [ebx + 8]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
mov byte [esp + 0x20], 0xe
shr eax, 0x1f
add edx, eax
je 0x4880a9
lea ecx, [edx + edx*2]
shl ecx, 2
push ecx
push edi
call fcn.00402dc0
add esp, 8
lea ebx, [esi + 0x21f4]
mov dword [esp + 0x14], ebx
mov ebp, dword [ebx + 4]
mov edi, dword [ebx]
cmp edi, ebp
mov byte [esp + 0x20], 0x2a
je 0x4880d1
push 0
mov ecx, edi
call fcn.0047ad50
add edi, 0xc
cmp edi, ebp
jne 0x4880c1
mov edi, dword [ebx]
mov ecx, dword [ebx + 8]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
mov byte [esp + 0x20], 0xd
shr eax, 0x1f
add edx, eax
je 0x4880ff
lea ecx, [edx + edx*2]
shl ecx, 2
push ecx
push edi
call fcn.00402dc0
add esp, 8
mov ecx, dword [esi + 0x21e8]
mov eax, dword [esi + 0x21f0]
xor ebx, ebx
sub eax, ecx
cmp ecx, ebx
mov byte [esp + 0x20], 0xc
je 0x488126
cmp eax, ebx
je 0x488126
push eax
push ecx
call fcn.00402dc0
add esp, 8
lea edi, [esi + 0x21dc]
mov dword [esp + 0x14], edi
mov ecx, edi
mov byte [esp + 0x20], 0x2b
call fcn.0049b620
mov edi, dword [edi]
push 0x18
push edi
mov byte [esp + 0x28], 0xb
call fcn.00402dc0
lea edi, [esi + 0x21d0]
add esp, 8
mov dword [esp + 0x14], edi
mov ecx, edi
mov byte [esp + 0x20], 0x2c
call fcn.0049bd50
mov edi, dword [edi]
push 0x14
push edi
mov byte [esp + 0x28], 0xa
call fcn.00402dc0
lea edi, [esi + 0x21c4]
add esp, 8
mov dword [esp + 0x14], edi
mov ecx, edi
mov byte [esp + 0x20], 0x2d
call fcn.0049c0a0
mov edi, dword [edi]
push 0x18
push edi
mov byte [esp + 0x28], 9
call fcn.00402dc0
lea edi, [esi + 0x21b8]
add esp, 8
mov dword [esp + 0x14], edi
mov ecx, edi
mov byte [esp + 0x20], 0x2e
call fcn.0049c0a0
mov edi, dword [edi]
push 0x18
push edi
mov byte [esp + 0x28], 8
call fcn.00402dc0
lea edi, [esi + 0x21ac]
add esp, 8
mov dword [esp + 0x14], edi
mov ecx, edi
mov byte [esp + 0x20], 0x2f
call fcn.0049c0a0
mov edi, dword [edi]
push 0x18
push edi
mov byte [esp + 0x28], 7
call fcn.00402dc0
lea edi, [esi + 0x21a0]
add esp, 8
mov dword [esp + 0x14], edi
mov ecx, edi
mov byte [esp + 0x20], 0x30
call fcn.0049c0a0
mov edi, dword [edi]
push 0x18
push edi
mov byte [esp + 0x28], 6
call fcn.00402dc0
lea edi, [esi + 0x2194]
add esp, 8
mov dword [esp + 0x14], edi
mov ecx, edi
mov byte [esp + 0x20], 0x31
call fcn.0049c0a0
mov edi, dword [edi]
mov byte [esp + 0x20], 5
push 0x18
push edi
call fcn.00402dc0
lea edi, [esi + 0x2188]
add esp, 8
mov dword [esp + 0x14], edi
mov ecx, edi
mov byte [esp + 0x20], 0x32
call fcn.0049bf60
mov edi, dword [edi]
push 0x18
push edi
mov byte [esp + 0x28], 4
call fcn.00402dc0
lea edi, [esi + 0x2128]
add esp, 8
mov ecx, edi
mov byte [esp + 0x20], 2
call fcn.004a92e0
mov edi, dword [edi]
push 0xc
push edi
call fcn.00402dc0
lea edi, [esi + 0x211c]
add esp, 8
mov dword [esp + 0x14], edi
mov ecx, edi
mov byte [esp + 0x20], 0x33
call fcn.0049b7e0
mov edi, dword [edi]
push 0x18
push edi
mov byte [esp + 0x28], 1
call fcn.00402dc0
lea edi, [esi + 0x2110]
add esp, 8
mov dword [esp + 0x14], edi
mov eax, dword [edi + 4]
mov byte [esp + 0x20], 0x34
cmp eax, ebx
je 0x4882e2
mov edx, dword [edi]
mov ecx, edi
mov eax, dword [edx + 4]
push eax
call fcn.0049db50
mov eax, dword [edi]
mov dword [eax + 8], eax
mov ecx, dword [edi]
mov dword [ecx + 4], ebx
mov eax, dword [edi]
mov dword [eax + 0xc], eax
mov dword [edi + 4], ebx
mov edi, dword [edi]
push 0x18
push edi
mov byte [esp + 0x28], 0
call fcn.00402dc0
add esp, 8
mov ecx, esi
mov dword [esp + 0x20], 0xffffffff
call fcn.004b8a60
mov ecx, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret