Function at 0x489340
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x557f6f
mov eax, dword fs:[0]
push eax
sub esp, 0x290
mov eax, dword [0x6397d4]
xor eax, esp
mov dword [esp + 0x28c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6397d4]
xor eax, esp
push eax
lea eax, [esp + 0x2a4]
mov dword fs:[0], eax
push 0x258
mov ebp, ecx
call fcn.00551850
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x2ac], 0
je 0x4893a8
mov ecx, eax
call fcn.004d7620
mov esi, eax
jmp 0x4893aa
xor esi, esi
mov al, byte [ebp + 0x134]
cmp al, 1
mov ebx, dword [esp + 0x2b4]
mov dword [esp + 0x2ac], 0xffffffff
mov dword [ebp + 0x350], esi
mov byte [ebp + 0x354], bl
mov byte [esp + 0x17], al
push ebx
jne 0x4893de
push 0xaa
jmp 0x489434
test al, al
jns 0x4893fa
movzx ecx, word [ebp + 0x392]
mov eax, dword [ebp + 0x3cc]
movzx edx, word [eax + ecx*2 + 0x84]
push edx
jmp 0x489434
test al, 0x20
je 0x48941e
mov eax, dword [ebp + 0x3a0]
movzx ecx, word [eax + 0x98]
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
fmul dword [eax + 0x7c]
call fcn.00551860
push eax
jmp 0x489434
test al, 2
je 0x48942f
mov eax, dword [ebp + 0x45c]
movzx edx, word [eax + 0x1c]
push edx
jmp 0x489434
push 0xb4
push ebp
mov ecx, esi
call fcn.004d7660
test bl, 1
je 0x489653
mov bl, byte [esp + 0x17]
cmp bl, 0x20
je 0x489468
cmp bl, 0x29
je 0x489468
mov eax, dword [ebp + 0x350]
mov ecx, dword [eax + 0x23c]
lea edx, [ebp + 0x13d]
push edx
jmp 0x48947e
mov eax, dword [ebp + 0x3a0]
mov ecx, dword [ebp + 0x350]
mov ecx, dword [ecx + 0x23c]
add eax, 4
push eax
call fcn.004d6840
cmp bl, 1
jne 0x489633
mov ecx, ebp
call fcn.00491360
test eax, eax
jbe 0x4894b3
cmp dword [ebp + 0x350], 0
je 0x4894b3
mov ecx, ebp
call fcn.00491360
mov ecx, dword [ebp + 0x350]
push eax
call fcn.004d8000
mov ecx, ebp
call fcn.004913d0
mov ecx, dword [ebp + 0x350]
push eax
call fcn.004d7e90
mov ecx, ebp
mov edi, 0x563af4
call fcn.00491e70
mov esi, eax
mov ecx, 2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4894ee
mov ecx, ebp
call fcn.00491e70
push eax
mov ecx, ebp
call fcn.00492560
cmp dword [ebp + 0x4ec], 0
je 0x489506
mov ecx, ebp
call fcn.00491e80
push eax
mov ecx, ebp
call fcn.00492620
movzx eax, word [ebp + 0x4f0]
test ax, ax
je 0x489521
mov ecx, dword [ebp + 0x350]
movzx eax, ax
push eax
call fcn.004d7f20
movzx eax, word [ebp + 0x4ea]
test ax, ax
je 0x48953c
mov ecx, dword [ebp + 0x350]
movzx eax, ax
push eax
call fcn.004d7f40
mov eax, dword [ebp + 0x4fa]
test eax, eax
jle 0x489653
mov edx, dword [ebp]
push eax
mov eax, dword [edx + 0xd0]
mov ecx, ebp
call eax
mov esi, dword [sym.imp.MSVCR80.dll_sprintf]
xor eax, eax
mov dword [esp + 0x27c], eax
mov dword [esp + 0x280], eax
mov dword [esp + 0x284], eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], eax
mov dword [esp + 0x294], eax
mov dword [esp + 0x298], eax
mov byte [esp + 0x29c], al
mov al, byte [ebp + 0x47f]
cmp al, 0x40
je 0x4895ad
cmp al, 0x41
jne 0x4895d1
mov eax, dword [ebp + 0x4fa]
push eax
mov ecx, 0x649790
call fcn.00498ec0
push eax
lea ecx, [esp + 0x280]
push 0x56b608
push ecx
call esi
add esp, 0xc
mov al, byte [ebp + 0x47f]
cmp al, 0x80
je 0x4895df
cmp al, 0x81
jne 0x489603
mov eax, dword [ebp + 0x4fa]
push eax
mov ecx, 0x649790
call fcn.00498ec0
push eax
lea edx, [esp + 0x280]
push 0x56b604
push edx
call esi
add esp, 0xc
cmp byte [ebp + 0x47f], 0
jne 0x48961e
lea eax, [esp + 0x27c]
push 0x562815
push eax
call esi
add esp, 8
lea ecx, [esp + 0x27c]
push ecx
mov ecx, dword [ebp + 0x350]
call fcn.004d7f80
jmp 0x489653
cmp bl, 2
jne 0x489653
mov eax, dword [ebp + 0x45c]
cmp dword [eax + 0x20], 0
je 0x489653
mov ecx, dword [ebp + 0x350]
add eax, 2
push eax
call fcn.004d7e90
lea ecx, [esp + 0x13c]
call fcn.0041fed0
lea ecx, [esp + 0x17c]
mov dword [esp + 0x2ac], 1
call fcn.0041fed0
lea ecx, [esp + 0x15c]
mov byte [esp + 0x2ac], 2
call fcn.0041fed0
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2ac], 3
call fcn.0041fed0
lea ecx, [esp + 0x21c]
mov byte [esp + 0x2ac], 4
call fcn.0041fed0
lea ecx, [esp + 0x19c]
mov byte [esp + 0x2ac], 5
call fcn.0041fed0
lea ecx, [esp + 0x23c]
mov byte [esp + 0x2ac], 6
call fcn.0041fed0
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x2ac], 7
call fcn.0041fed0
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x2ac], 8
call fcn.0041fed0
lea ecx, [esp + 0x25c]
mov byte [esp + 0x2ac], 9
call fcn.0041fed0
push 0
lea edx, [esp + 0x140]
push edx
mov bl, 0xa
push 0x42
mov ecx, 0x648290
mov byte [esp + 0x2b8], bl
call fcn.00425560
push 0
lea eax, [esp + 0x180]
push eax
push 0x43
mov ecx, 0x648290
call fcn.00425560
push 0
lea ecx, [esp + 0x160]
push ecx
push 0x44
mov ecx, 0x648290
call fcn.00425560
push 0
lea edx, [esp + 0x1e0]
push edx
push 0x45
mov ecx, 0x648290
call fcn.00425560
push 0
lea eax, [esp + 0x220]
push eax
push 0x46
mov ecx, 0x648290
call fcn.00425560
push 0
lea ecx, [esp + 0x1a0]
push ecx
push 0x47
mov ecx, 0x648290
call fcn.00425560
push 0
lea edx, [esp + 0x240]
push edx
push 0x48
mov ecx, 0x648290
call fcn.00425560
push 0
lea eax, [esp + 0x200]
push eax
push 0x49
mov ecx, 0x648290
call fcn.00425560
push 0
lea ecx, [esp + 0x1c0]
push ecx
push 0x4a
mov ecx, 0x648290
call fcn.00425560
push 0
lea edx, [esp + 0x260]
push edx
push 0x4b
mov ecx, 0x648290
call fcn.00425560
test byte [esp + 0x2b4], 2
je 0x489ada
mov eax, dword [ebp + 0x350]
fld dword [0x5650b8]
mov ecx, dword [eax + 0x240]
push ecx
fstp dword [esp]
lea edx, [esp + 0x260]
push edx
lea eax, [esp + 0x224]
push eax
lea edx, [esp + 0x208]
push edx
lea eax, [esp + 0x18c]
push eax
lea edx, [esp + 0x1b0]
push edx
lea eax, [esp + 0x1f4]
push eax
lea edx, [esp + 0x1d8]
push edx
lea eax, [esp + 0x25c]
push eax
lea edx, [esp + 0x180]
push edx
lea eax, [esp + 0x164]
push eax
call fcn.004d3ba0
lea ecx, [esp + 0xfc]
call fcn.0041fed0
lea ecx, [esp + 0x11c]
mov byte [esp + 0x2ac], 0xb
call fcn.0041fed0
lea ecx, [esp + 0xdc]
mov byte [esp + 0x2ac], 0xc
call fcn.0041fed0
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2ac], 0xd
call fcn.0041fed0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2ac], 0xe
call fcn.0041fed0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x2ac], 0xf
call fcn.0041fed0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2ac], 0x10
call fcn.0041fed0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2ac], 0x11
call fcn.0041fed0
lea ecx, [esp + 0xbc]
mov byte [esp + 0x2ac], 0x12
call fcn.0041fed0
push 0
lea ecx, [esp + 0x100]
push ecx
push 0x63
mov ecx, 0x648290
mov byte [esp + 0x2b8], 0x13
call fcn.00425560
push 0
lea edx, [esp + 0xa0]
push edx
push 0x64
mov ecx, 0x648290
call fcn.00425560
push 0
lea eax, [esp + 0x20]
push eax
push 0x65
mov ecx, 0x648290
call fcn.00425560
push 0
lea ecx, [esp + 0x120]
push ecx
push 0x66
mov ecx, 0x648290
call fcn.00425560
push 0
lea edx, [esp + 0x60]
push edx
push 0x67
mov ecx, 0x648290
call fcn.00425560
push 0
lea eax, [esp + 0x80]
push eax
push 0x68
mov ecx, 0x648290
call fcn.00425560
push 0
lea ecx, [esp + 0xe0]
push ecx
push 0x69
mov ecx, 0x648290
call fcn.00425560
push 0
lea edx, [esp + 0x40]
push edx
push 0x6a
mov ecx, 0x648290
call fcn.00425560
push 0
lea eax, [esp + 0xc0]
push eax
push 0x6b
mov ecx, 0x648290
call fcn.00425560
fld dword [0x5650b8]
mov ecx, dword [ebp + 0x350]
mov ecx, dword [ecx + 0x240]
push ecx
fstp dword [esp]
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0x44]
push eax
lea edx, [esp + 0xe8]
push edx
lea eax, [esp + 0x8c]
push eax
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x134]
push eax
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0xbc]
push eax
lea edx, [esp + 0x120]
push edx
call fcn.004d3e30
lea ecx, [esp + 0xbc]
mov byte [esp + 0x2ac], 0x12
call fcn.0041fee0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2ac], 0x11
call fcn.0041fee0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2ac], 0x10
call fcn.0041fee0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x2ac], 0xf
call fcn.0041fee0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2ac], 0xe
call fcn.0041fee0
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2ac], 0xd
call fcn.0041fee0
lea ecx, [esp + 0xdc]
mov byte [esp + 0x2ac], 0xc
call fcn.0041fee0
mov byte [esp + 0x2ac], 0xb
lea ecx, [esp + 0x11c]
call fcn.0041fee0
lea ecx, [esp + 0xfc]
mov byte [esp + 0x2ac], bl
call fcn.0041fee0
test byte [esp + 0x2b4], 4
je 0x48a099
mov eax, dword [ebp + 0x350]
fld dword [0x5650b8]
mov ecx, dword [eax + 0x244]
push ecx
fstp dword [esp]
push 0
lea edx, [esp + 0x224]
push edx
lea eax, [esp + 0x208]
push eax
lea edx, [esp + 0x18c]
push edx
lea eax, [esp + 0x1b0]
push eax
lea edx, [esp + 0x1f4]
push edx
lea eax, [esp + 0x1d8]
push eax
lea edx, [esp + 0x25c]
push edx
lea eax, [esp + 0x180]
push eax
lea edx, [esp + 0x164]
push edx
call fcn.004d3ba0
fld dword [0x5650b8]
mov eax, dword [ebp + 0x350]
mov ecx, dword [eax + 0x248]
push ecx
fstp dword [esp]
push 0
lea edx, [esp + 0x224]
push edx
lea eax, [esp + 0x208]
push eax
lea edx, [esp + 0x18c]
push edx
lea eax, [esp + 0x1b0]
push eax
lea edx, [esp + 0x1f4]
push edx
lea eax, [esp + 0x1d8]
push eax
lea edx, [esp + 0x25c]
push edx
lea eax, [esp + 0x180]
push eax
lea edx, [esp + 0x164]
push edx
call fcn.004d3ba0
lea ecx, [esp + 0xbc]
call fcn.0041fed0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2ac], 0x14
call fcn.0041fed0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2ac], 0x15
call fcn.0041fed0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x2ac], 0x16
call fcn.0041fed0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2ac], 0x17
call fcn.0041fed0
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2ac], 0x18
call fcn.0041fed0
lea ecx, [esp + 0xdc]
mov byte [esp + 0x2ac], 0x19
call fcn.0041fed0
lea ecx, [esp + 0x11c]
mov byte [esp + 0x2ac], 0x1a
call fcn.0041fed0
lea ecx, [esp + 0xfc]
mov byte [esp + 0x2ac], 0x1b
call fcn.0041fed0
push 0
lea eax, [esp + 0xc0]
push eax
push 0x75
mov ecx, 0x648290
mov byte [esp + 0x2b8], 0x1c
call fcn.00425560
push 0
lea ecx, [esp + 0x40]
push ecx
push 0x76
mov ecx, 0x648290
call fcn.00425560
push 0
lea edx, [esp + 0xe0]
push edx
push 0x77
mov ecx, 0x648290
call fcn.00425560
push 0
lea eax, [esp + 0x80]
push eax
push 0x78
mov ecx, 0x648290
call fcn.00425560
push 0
lea ecx, [esp + 0x60]
push ecx
push 0x79
mov ecx, 0x648290
call fcn.00425560
push 0
lea edx, [esp + 0x120]
push edx
push 0x7a
mov ecx, 0x648290
call fcn.00425560
push 0
lea eax, [esp + 0x20]
push eax
push 0x7b
mov ecx, 0x648290
call fcn.00425560
push 0
lea ecx, [esp + 0xa0]
push ecx
push 0x7c
mov ecx, 0x648290
call fcn.00425560
push 0
lea edx, [esp + 0x100]
push edx
push 0x7d
mov ecx, 0x648290
call fcn.00425560
fld dword [0x5650b8]
mov eax, dword [ebp + 0x350]
mov ecx, dword [eax + 0x244]
push ecx
fstp dword [esp]
lea edx, [esp + 0x100]
push edx
lea eax, [esp + 0xa4]
push eax
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x12c]
push eax
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x94]
push eax
lea edx, [esp + 0xf8]
push edx
lea eax, [esp + 0x5c]
push eax
lea edx, [esp + 0xe0]
push edx
call fcn.004d3e30
lea ecx, [esp + 0xfc]
mov byte [esp + 0x2ac], 0x1b
call fcn.0041fee0
lea ecx, [esp + 0x11c]
mov byte [esp + 0x2ac], 0x1a
call fcn.0041fee0
lea ecx, [esp + 0xdc]
mov byte [esp + 0x2ac], 0x19
call fcn.0041fee0
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2ac], 0x18
call fcn.0041fee0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2ac], 0x17
call fcn.0041fee0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x2ac], 0x16
call fcn.0041fee0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2ac], 0x15
call fcn.0041fee0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2ac], 0x14
call fcn.0041fee0
lea ecx, [esp + 0xbc]
mov byte [esp + 0x2ac], bl
call fcn.0041fee0
lea ecx, [esp + 0xbc]
call fcn.0041fed0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2ac], 0x1d
call fcn.0041fed0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2ac], 0x1e
call fcn.0041fed0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x2ac], 0x1f
call fcn.0041fed0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2ac], 0x20
call fcn.0041fed0
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2ac], 0x21
call fcn.0041fed0
lea ecx, [esp + 0xdc]
mov byte [esp + 0x2ac], 0x22
call fcn.0041fed0
lea ecx, [esp + 0x11c]
mov byte [esp + 0x2ac], 0x23
call fcn.0041fed0
lea ecx, [esp + 0xfc]
mov byte [esp + 0x2ac], 0x24
call fcn.0041fed0
push 0
lea eax, [esp + 0xc0]
push eax
push 0x80
mov ecx, 0x648290
mov byte [esp + 0x2b8], 0x25
call fcn.00425560
push 0
lea ecx, [esp + 0x40]
push ecx
push 0x81
mov ecx, 0x648290
call fcn.00425560
push 0
lea edx, [esp + 0xe0]
push edx
push 0x82
mov ecx, 0x648290
call fcn.00425560
push 0
lea eax, [esp + 0x80]
push eax
push 0x83
mov ecx, 0x648290
call fcn.00425560
push 0
lea ecx, [esp + 0x60]
push ecx
push 0x84
mov ecx, 0x648290
call fcn.00425560
push 0
lea edx, [esp + 0x120]
push edx
push 0x85
mov ecx, 0x648290
call fcn.00425560
push 0
lea eax, [esp + 0x20]
push eax
push 0x86
mov ecx, 0x648290
call fcn.00425560
push 0
lea ecx, [esp + 0xa0]
push ecx
push 0x87
mov ecx, 0x648290
call fcn.00425560
push 0
lea edx, [esp + 0x100]
push edx
push 0x88
mov ecx, 0x648290
call fcn.00425560
fld dword [0x5650b8]
mov eax, dword [ebp + 0x350]
mov ecx, dword [eax + 0x248]
push ecx
fstp dword [esp]
lea edx, [esp + 0x100]
push edx
lea eax, [esp + 0xa4]
push eax
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x12c]
push eax
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x94]
push eax
lea edx, [esp + 0xf8]
push edx
lea eax, [esp + 0x5c]
push eax
lea edx, [esp + 0xe0]
push edx
call fcn.004d3e30
lea ecx, [esp + 0xfc]
mov byte [esp + 0x2ac], 0x24
call fcn.0041fee0
lea ecx, [esp + 0x11c]
mov byte [esp + 0x2ac], 0x23
call fcn.0041fee0
lea ecx, [esp + 0xdc]
mov byte [esp + 0x2ac], 0x22
call fcn.0041fee0
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2ac], 0x21
call fcn.0041fee0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2ac], 0x20
call fcn.0041fee0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x2ac], 0x1f
call fcn.0041fee0
mov byte [esp + 0x2ac], 0x1e
lea ecx, [esp + 0x1c]
call fcn.0041fee0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2ac], 0x1d
call fcn.0041fee0
lea ecx, [esp + 0xbc]
mov byte [esp + 0x2ac], bl
call fcn.0041fee0
lea ecx, [esp + 0x25c]
mov byte [esp + 0x2ac], 9
call fcn.0041fee0
lea ecx, [esp + 0x1bc]
mov byte [esp + 0x2ac], 8
call fcn.0041fee0
lea ecx, [esp + 0x1fc]
mov byte [esp + 0x2ac], 7
call fcn.0041fee0
lea ecx, [esp + 0x23c]
mov byte [esp + 0x2ac], 6
call fcn.0041fee0
lea ecx, [esp + 0x19c]
mov byte [esp + 0x2ac], 5
call fcn.0041fee0
lea ecx, [esp + 0x21c]
mov byte [esp + 0x2ac], 4
call fcn.0041fee0
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2ac], 3
call fcn.0041fee0
lea ecx, [esp + 0x15c]
mov byte [esp + 0x2ac], 2
call fcn.0041fee0
lea ecx, [esp + 0x17c]
mov byte [esp + 0x2ac], 1
call fcn.0041fee0
lea ecx, [esp + 0x13c]
mov dword [esp + 0x2ac], 0xffffffff
call fcn.0041fee0
mov ecx, dword [esp + 0x2a4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x28c]
xor ecx, esp
call fcn.0055160d
add esp, 0x29c
ret 4