Function at 0x4f8440
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5fcf4b
mov eax, dword fs:[0]
push eax
sub esp, 0x818
mov eax, dword [0x654c54]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x7a8], ecx
mov dword [ebp - 4], 0
lea eax, [ebp - 0x5ae]
push eax
lea ecx, [ebp - 0x5af]
push ecx
lea ecx, [ebp - 0x4c]
call fcn.0040e6e0
mov byte [ebp - 4], 1
push 0x614120
lea ecx, [ebp - 0xe0]
call fcn.0040dbc0
mov byte [ebp - 4], 2
lea edx, [ebp - 0xe0]
push edx
lea ecx, [ebp - 0xc4]
call fcn.0040c120
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x7a8]
add eax, 0x784
push eax
lea ecx, [ebp - 0xa8]
call fcn.0040c120
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x7ac], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x7ac]
push edx
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00443520
mov byte [ebp - 4], 5
push 0
push 1
lea ecx, [ebp - 0xa8]
call fcn.004079f0
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0xc4]
call fcn.004079f0
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0xe0]
call fcn.004079f0
push str.ProdName
lea ecx, [ebp - 0x140]
call fcn.0040dbc0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x140]
push ecx
lea ecx, [ebp - 0x124]
call fcn.0040c120
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x7a8]
add edx, 0x44
push edx
lea ecx, [ebp - 0x108]
call fcn.0040c120
mov byte [ebp - 4], 6
lea eax, [ebp - 0x124]
mov dword [ebp - 0x7b0], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x7b0]
push ecx
lea edx, [ebp - 0x14c]
push edx
lea ecx, [ebp - 0x4c]
call fcn.00443520
mov byte [ebp - 4], 9
push 0
push 1
lea ecx, [ebp - 0x108]
call fcn.004079f0
mov byte [ebp - 4], 6
push 0
push 1
lea ecx, [ebp - 0x124]
call fcn.004079f0
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x140]
call fcn.004079f0
push str.Version
lea ecx, [ebp - 0x1a0]
call fcn.0040dbc0
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x184]
call fcn.0040c120
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x7a8]
add ecx, 0x3cc
push ecx
lea ecx, [ebp - 0x168]
call fcn.0040c120
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x184]
mov dword [ebp - 0x7b4], edx
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x7b4]
push eax
lea ecx, [ebp - 0x1ac]
push ecx
lea ecx, [ebp - 0x4c]
call fcn.00443520
mov byte [ebp - 4], 0xd
push 0
push 1
lea ecx, [ebp - 0x168]
call fcn.004079f0
mov byte [ebp - 4], 0xa
push 0
push 1
lea ecx, [ebp - 0x184]
call fcn.004079f0
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x1a0]
call fcn.004079f0
push str.Variation
lea ecx, [ebp - 0x200]
call fcn.0040dbc0
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x200]
push edx
lea ecx, [ebp - 0x1e4]
call fcn.0040c120
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x7a8]
add eax, 0x764
push eax
lea ecx, [ebp - 0x1c8]
call fcn.0040c120
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x7b8], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x7b8]
push edx
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00443520
mov byte [ebp - 4], 0x11
push 0
push 1
lea ecx, [ebp - 0x1c8]
call fcn.004079f0
mov byte [ebp - 4], 0xe
push 0
push 1
lea ecx, [ebp - 0x1e4]
call fcn.004079f0
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x200]
call fcn.004079f0
push str.ReferId
lea ecx, [ebp - 0x260]
call fcn.0040dbc0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x260]
push ecx
lea ecx, [ebp - 0x244]
call fcn.0040c120
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x7a8]
add edx, 0x748
push edx
lea ecx, [ebp - 0x228]
call fcn.0040c120
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x244]
mov dword [ebp - 0x7bc], eax
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x7bc]
push ecx
lea edx, [ebp - 0x26c]
push edx
lea ecx, [ebp - 0x4c]
call fcn.00443520
mov byte [ebp - 4], 0x15
push 0
push 1
lea ecx, [ebp - 0x228]
call fcn.004079f0
mov byte [ebp - 4], 0x12
push 0
push 1
lea ecx, [ebp - 0x244]
call fcn.004079f0
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x260]
call fcn.004079f0
push str.DownloadId
lea ecx, [ebp - 0x2dc]
call fcn.0040dbc0
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x7a8]
mov ecx, dword [eax + 0x780]
push ecx
push 0x60685c
lea edx, [ebp - 0x2c0]
push edx
call fcn.00528d70
add esp, 0xc
mov dword [ebp - 0x7c0], eax
mov eax, dword [ebp - 0x7c0]
mov dword [ebp - 0x784], eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x2dc]
push ecx
lea ecx, [ebp - 0x2a4]
call fcn.0040c120
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x784]
push edx
lea ecx, [ebp - 0x288]
call fcn.0040c120
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x2a4]
mov dword [ebp - 0x7c4], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x7c4]
push ecx
lea edx, [ebp - 0x2e8]
push edx
lea ecx, [ebp - 0x4c]
call fcn.00443520
mov byte [ebp - 4], 0x1a
push 0
push 1
lea ecx, [ebp - 0x288]
call fcn.004079f0
mov byte [ebp - 4], 0x17
push 0
push 1
lea ecx, [ebp - 0x2a4]
call fcn.004079f0
mov byte [ebp - 4], 0x16
push 0
push 1
lea ecx, [ebp - 0x2c0]
call fcn.004079f0
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x2dc]
call fcn.004079f0
push str.TimesPlayed
lea ecx, [ebp - 0x358]
call fcn.0040dbc0
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x7a8]
mov ecx, dword [eax + 0x820]
push ecx
push 0x60685c
lea edx, [ebp - 0x33c]
push edx
call fcn.00528d70
add esp, 0xc
mov dword [ebp - 0x7c8], eax
mov eax, dword [ebp - 0x7c8]
mov dword [ebp - 0x7cc], eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x7cc]
push ecx
lea edx, [ebp - 0x358]
push edx
lea ecx, [ebp - 0x320]
call fcn.00440d00
mov dword [ebp - 0x7d0], eax
mov eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x7d4], eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x7d4]
push ecx
lea edx, [ebp - 0x364]
push edx
lea ecx, [ebp - 0x4c]
call fcn.00443520
mov byte [ebp - 4], 0x1e
push 0
push 1
lea ecx, [ebp - 0x304]
call fcn.004079f0
mov byte [ebp - 4], 0x1c
push 0
push 1
lea ecx, [ebp - 0x320]
call fcn.004079f0
mov byte [ebp - 4], 0x1b
push 0
push 1
lea ecx, [ebp - 0x33c]
call fcn.004079f0
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x358]
call fcn.004079f0
push str.TimesExecuted
lea ecx, [ebp - 0x3d4]
call fcn.0040dbc0
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x7a8]
mov ecx, dword [eax + 0x824]
push ecx
push 0x60685c
lea edx, [ebp - 0x3b8]
push edx
call fcn.00528d70
add esp, 0xc
mov dword [ebp - 0x7d8], eax
mov eax, dword [ebp - 0x7d8]
mov dword [ebp - 0x7dc], eax
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x7dc]
push ecx
lea edx, [ebp - 0x3d4]
push edx
lea ecx, [ebp - 0x39c]
call fcn.00440d00
mov dword [ebp - 0x7e0], eax
mov eax, dword [ebp - 0x7e0]
mov dword [ebp - 0x7e4], eax
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x7e4]
push ecx
lea edx, [ebp - 0x3e0]
push edx
lea ecx, [ebp - 0x4c]
call fcn.00443520
mov byte [ebp - 4], 0x22
push 0
push 1
lea ecx, [ebp - 0x380]
call fcn.004079f0
mov byte [ebp - 4], 0x20
push 0
push 1
lea ecx, [ebp - 0x39c]
call fcn.004079f0
mov byte [ebp - 4], 0x1f
push 0
push 1
lea ecx, [ebp - 0x3b8]
call fcn.004079f0
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x3d4]
call fcn.004079f0
mov eax, dword [ebp - 0x7a8]
movzx ecx, byte [eax + 0x828]
test ecx, ecx
je 0x4f8a84
mov dword [ebp - 0x7e8], 0x614110
jmp 0x4f8a8e
mov dword [ebp - 0x7e8], 0x61410c
mov edx, dword [ebp - 0x7e8]
push edx
lea ecx, [ebp - 0x434]
call fcn.0040dbc0
mov byte [ebp - 4], 0x23
push str.TimedOut
lea ecx, [ebp - 0x450]
call fcn.0040dbc0
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x450]
push ecx
lea ecx, [ebp - 0x418]
call fcn.00440d00
mov dword [ebp - 0x7ec], eax
mov edx, dword [ebp - 0x7ec]
mov dword [ebp - 0x7f0], edx
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x7f0]
push eax
lea ecx, [ebp - 0x45c]
push ecx
lea ecx, [ebp - 0x4c]
call fcn.00443520
mov byte [ebp - 4], 0x26
push 0
push 1
lea ecx, [ebp - 0x3fc]
call fcn.004079f0
mov byte [ebp - 4], 0x24
push 0
push 1
lea ecx, [ebp - 0x418]
call fcn.004079f0
mov byte [ebp - 4], 0x23
push 0
push 1
lea ecx, [ebp - 0x450]
call fcn.004079f0
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x434]
call fcn.004079f0
lea ecx, [ebp - 0x2c]
call fcn.004087b0
mov byte [ebp - 4], 0x27
mov edx, dword [ebp + 0x20]
mov dword [ebp - 0x788], edx
mov eax, dword [ebp - 0x788]
mov ecx, dword [eax]
mov dword [ebp - 0x78c], ecx
lea edx, [ebp + 8]
push edx
mov eax, dword [ebp - 0x78c]
push eax
lea ecx, [ebp - 0x54]
call fcn.00407e40
mov ecx, dword [ebp + 0x20]
mov dword [ebp - 0x790], ecx
lea edx, [ebp + 8]
push edx
mov eax, dword [ebp - 0x790]
push eax
lea ecx, [ebp - 0x464]
call fcn.00407e40
lea ecx, [ebp - 0x464]
push ecx
lea ecx, [ebp - 0x54]
call fcn.004031e0
movzx edx, al
neg edx
sbb edx, edx
add edx, 1
movzx eax, dl
test eax, eax
je 0x4f8dff
lea ecx, [ebp - 0x54]
call fcn.004079c0
mov dword [ebp - 0x794], eax
mov ecx, dword [ebp - 0x794]
push ecx
lea ecx, [ebp - 0x70]
call fcn.0040c120
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x54]
call fcn.004079c0
mov dword [ebp - 0x798], eax
mov edx, dword [ebp - 0x798]
add edx, 0x1c
push edx
lea ecx, [ebp - 0x8c]
call fcn.0040c120
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x79c], eax
mov ecx, dword [ebp - 0x79c]
push ecx
push str._04X
lea edx, [ebp - 0x480]
push edx
call fcn.00528d70
add esp, 0xc
mov dword [ebp - 0x7f4], eax
mov eax, dword [ebp - 0x7f4]
mov dword [ebp - 0x7f8], eax
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x7a0], ecx
mov edx, dword [ebp - 0x7a0]
push edx
push str._04X
lea eax, [ebp - 0x49c]
push eax
call fcn.00528d70
add esp, 0xc
mov dword [ebp - 0x7fc], eax
mov ecx, dword [ebp - 0x7fc]
mov dword [ebp - 0x800], ecx
mov byte [ebp - 4], 0x2b
lea edx, [ebp - 0x70]
push edx
mov eax, dword [ebp - 0x800]
push eax
lea ecx, [ebp - 0x4b8]
push ecx
call fcn.0040f350
add esp, 0xc
mov dword [ebp - 0x804], eax
mov edx, dword [ebp - 0x804]
mov dword [ebp - 0x808], edx
mov byte [ebp - 4], 0x2c
push 0x6140f4
mov eax, dword [ebp - 0x808]
push eax
lea ecx, [ebp - 0x4d4]
push ecx
call fcn.0040f1e0
add esp, 0xc
mov dword [ebp - 0x80c], eax
mov edx, dword [ebp - 0x80c]
mov dword [ebp - 0x810], edx
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0x7f8]
push eax
mov ecx, dword [ebp - 0x810]
push ecx
lea edx, [ebp - 0x4f0]
push edx
call fcn.0040f350
add esp, 0xc
mov dword [ebp - 0x814], eax
mov eax, dword [ebp - 0x814]
mov dword [ebp - 0x818], eax
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x8c]
push ecx
mov edx, dword [ebp - 0x818]
push edx
lea eax, [ebp - 0x50c]
push eax
call fcn.0040f350
add esp, 0xc
mov dword [ebp - 0x81c], eax
mov ecx, dword [ebp - 0x81c]
mov dword [ebp - 0x7a4], ecx
mov byte [ebp - 4], 0x2f
mov edx, dword [0x611c1c]
push edx
push 0
mov eax, dword [ebp - 0x7a4]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0040ae50
mov byte [ebp - 4], 0x2e
push 0
push 1
lea ecx, [ebp - 0x50c]
call fcn.004079f0
mov byte [ebp - 4], 0x2d
push 0
push 1
lea ecx, [ebp - 0x4f0]
call fcn.004079f0
mov byte [ebp - 4], 0x2c
push 0
push 1
lea ecx, [ebp - 0x4d4]
call fcn.004079f0
mov byte [ebp - 4], 0x2b
push 0
push 1
lea ecx, [ebp - 0x4b8]
call fcn.004079f0
mov byte [ebp - 4], 0x2a
push 0
push 1
lea ecx, [ebp - 0x49c]
call fcn.004079f0
mov byte [ebp - 4], 0x29
push 0
push 1
lea ecx, [ebp - 0x480]
call fcn.004079f0
lea ecx, [ebp - 0x54]
call fcn.0043fe30
mov byte [ebp - 4], 0x28
push 0
push 1
lea ecx, [ebp - 0x8c]
call fcn.004079f0
mov byte [ebp - 4], 0x27
push 0
push 1
lea ecx, [ebp - 0x70]
call fcn.004079f0
jmp 0x4f8b7f
push str.Stats
lea ecx, [ebp - 0x560]
call fcn.0040dbc0
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x560]
push edx
lea ecx, [ebp - 0x544]
call fcn.00440d00
mov dword [ebp - 0x820], eax
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0x824], eax
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x824]
push ecx
lea edx, [ebp - 0x56c]
push edx
lea ecx, [ebp - 0x4c]
call fcn.00443520
mov byte [ebp - 4], 0x32
push 0
push 1
lea ecx, [ebp - 0x528]
call fcn.004079f0
mov byte [ebp - 4], 0x30
push 0
push 1
lea ecx, [ebp - 0x544]
call fcn.004079f0
mov byte [ebp - 4], 0x27
push 0
push 1
lea ecx, [ebp - 0x560]
call fcn.004079f0
push str.register.tpl
lea ecx, [ebp - 0x58c]
call fcn.0040dbc0
mov byte [ebp - 4], 0x33
lea eax, [ebp - 0x58c]
push eax
mov ecx, dword [ebp - 0x7a8]
call fcn.004d4bd0
mov byte [ebp - 0x56d], al
mov byte [ebp - 4], 0x27
push 0
push 1
lea ecx, [ebp - 0x58c]
call fcn.004079f0
movzx ecx, byte [ebp - 0x56d]
test ecx, ecx
je 0x4f8f8b
push str.register.tpl
lea ecx, [ebp - 0x5ac]
call fcn.0040dbc0
mov byte [ebp - 4], 0x34
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x5ac]
push eax
mov ecx, dword [ebp - 0x7a8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x7a8]
mov eax, dword [edx + 0x198]
call eax
mov byte [ebp - 0x58d], al
mov byte [ebp - 4], 0x27
push 0
push 1
lea ecx, [ebp - 0x5ac]
call fcn.004079f0
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.004079f0
mov byte [ebp - 4], 0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x4c]
call fcn.004434e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4c]
call fcn.0040aad0
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0x36
lea ecx, [ebp + 8]
call fcn.004434e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.0040aad0
mov al, byte [ebp - 0x58d]
jmp 0x4f9060
push 0
mov ecx, dword [ebp - 0x7a8]
add ecx, 0x3b0
push ecx
mov edx, dword [ebp - 0x7a8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x7a8]
mov edx, dword [eax + 0x94]
call edx
mov byte [ebp - 0x5ad], al
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.004079f0
mov byte [ebp - 4], 0
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x4c]
call fcn.004434e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4c]
call fcn.0040aad0
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0x38
lea ecx, [ebp + 8]
call fcn.004434e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.0040aad0
mov al, byte [ebp - 0x5ad]
jmp 0x4f9060
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005cbcb1
mov esp, ebp
pop ebp
ret 0x20