Function at 0x464dc0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x632134
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x6a73e8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 8]
xor ebx, ebx
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x20], ebx
cmp eax, 0x42e
ja 0x465036
je 0x464ffa
cmp eax, 0x10
je 0x464f95
cmp eax, 0x4a
je 0x464f82
cmp eax, 0x113
jne case.default.0x465044
cmp esi, 0x7d0
jne 0x464e47
push ebx
push ebx
push 0x433
mov ecx, edi
call fcn.004a2ed0
jmp case.default.0x465044
cmp esi, 0x7d3
jne 0x464f4e
lea eax, [ebp - 0x19]
mov byte [ebp - 0x19], bl
push eax
mov ecx, edi
call fcn.00466450
test al, al
je 0x464f3b
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
call fcn.00406ec0
mov dword [ebp - 4], 5
call fcn.0040e9c0
mov ecx, eax
call fcn.0046eeb0
cmp byte [ebp - 0x19], 0
mov ecx, 0x644ee4
mov edx, 0x644ee8
cmove ecx, edx
cmp dword [eax + 0x14], 8
jb 0x464ea0
mov eax, dword [eax]
push ecx
push eax
lea eax, [ebp - 0x14]
push 0x644eec
push eax
call fcn.00408f60
mov esi, dword [ebp - 0x14]
add esp, 0x10
mov ebx, esi
lea ecx, [ebx + 2]
nop dword [eax + eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x464ec0
sub ebx, ecx
sar ebx, 1
cmp dword [edi + 0x3b8], 0
jne 0x464f23
push 0x18
call fcn.005bb0ab
add esp, 4
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x464f0e
xor ecx, ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
push ebx
mov word [eax], cx
mov ecx, eax
push esi
call fcn.0040bab0
mov eax, dword [ebp - 0x20]
jmp 0x464f10
xor eax, eax
push eax
push 0
push 0x436
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.004a2ed0
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x464f3b
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
push 0x7d3
push dword [edi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
jmp case.default.0x465044
cmp esi, 0x7d4
jne case.default.0x465044
mov eax, dword [edi + 0x320]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push eax
mov ecx, edi
call fcn.0046a820
push esi
mov ecx, edi
call fcn.004a2830
push eax
call dword [sym.imp.USER32.dll_KillTimer]
jmp case.default.0x465044
push ecx
push dword [ebp + 0x10]
mov ecx, edi
push esi
push 0x4a
call fcn.00466a20
jmp 0x4652dd
cmp dword [edi + 0x3e4], ebx
je 0x464fe3
mov ecx, dword [edi + 0x320]
push 2
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [edi + 0x320]
push 0
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
push eax
call fcn.0045bc30
mov eax, dword [edi + 0x3e4]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 1
mov ecx, edi
call fcn.004a2840
jmp case.default.0x465044
push 0
mov ecx, edi
call fcn.004691b0
push 1
mov ecx, edi
call fcn.004a2840
jmp case.default.0x465044
mov ecx, dword [edi + 0x320]
test ecx, ecx
je case.default.0x465044
mov edi, dword [ebp + 0x10]
mov eax, dword [ecx]
push edi
push esi
push ecx
call dword [eax + 0x18]
test esi, esi
je 0x465020
push esi
call fcn.005bb0f2
add esp, 4
test edi, edi
je case.default.0x465044
push edi
call fcn.005bb0f2
add esp, 4
jmp case.default.0x465044
add eax, 0xfffffbcf
cmp eax, 0xb
ja case.default.0x465044
jmp dword [eax*4 + 0x4652fc]
push esi
mov ecx, edi
call fcn.00467d00
jmp case.default.0x465044
push dword [edi + 4]
lea ecx, [edi + 0x35c]
call fcn.00426780
mov ecx, dword [edi + 0x3a8]
test ecx, ecx
je 0x465075
call fcn.00479ba0
push 1
mov ecx, edi
call fcn.00467d00
jmp case.default.0x465044
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], ebx
call fcn.00406ec0
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], 0
call fcn.00406ec0
mov byte [ebp - 4], 1
call fcn.0040e9c0
mov esi, eax
lea ecx, [edi + 0x35c]
lea eax, [ebp - 0x20]
push eax
call fcn.004266e0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
push ecx
lea ecx, [ebp - 0x18]
push ecx
push eax
mov ecx, esi
call fcn.00473f00
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.00407ad0
push str.tokenUseless
push dword [ebp - 0x18]
call fcn.0060ef64
add esp, 8
test eax, eax
jne 0x465154
call fcn.0040e9c0
lea ecx, [ebp - 0x38]
push ecx
mov ecx, eax
call fcn.00470d10
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 3
mov dword [ebp - 0x20], 1
jb 0x465115
mov eax, dword [eax]
lea ecx, [ebp - 0xb8]
push 3
mov dword [ebp - 0xbc], ecx
lea ecx, [ebp - 0xbc]
push eax
call fcn.00465330
push dword [ebp - 0xbc]
mov ebx, 3
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x20], ebx
call fcn.00461e00
mov byte [ebp - 0x19], 1
test eax, eax
je 0x465158
mov byte [ebp - 0x19], 0
test bl, 2
je 0x465179
mov eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0xb8]
and ebx, 0xfffffffd
cmp eax, ecx
je 0x465179
push eax
call fcn.005ffbb1
add esp, 4
mov dword [ebp - 4], 1
test bl, 1
je 0x46518d
lea ecx, [ebp - 0x38]
call fcn.00407bd0
cmp byte [ebp - 0x19], 0
je 0x4651b6
mov ecx, dword [edi + 0x3bc]
test ecx, ecx
je 0x4651a4
push 1
call fcn.004a2840
mov ecx, edi
call fcn.00466ff0
push 0
push 0
push 0x437
jmp 0x465229
push str.recharge
push dword [ebp - 0x18]
call fcn.0060ef64
add esp, 8
test eax, eax
jne 0x465230
call fcn.00464c00
push 0
mov ecx, eax
call fcn.0045d580
call fcn.0040e9c0
push 0
mov ecx, eax
call fcn.004754d0
call fcn.0040e9c0
mov ecx, eax
call fcn.00470d90
test al, al
je 0x465204
call fcn.0040e9c0
mov ecx, eax
call fcn.0046ef90
jmp 0x465220
call fcn.0040e9c0
mov ecx, eax
call fcn.00470d80
test al, al
je 0x465220
call fcn.0040e9c0
mov ecx, eax
call fcn.0046f060
push 0
push 2
push 0x434
mov ecx, edi
call fcn.004a2ed0
lea ecx, [ebp - 0x14]
call fcn.00407ad0
lea ecx, [ebp - 0x18]
call fcn.00407ad0
jmp case.default.0x465044
lea ecx, [edi + 0x35c]
call fcn.004264b0
push dword [edi + 4]
lea ecx, [edi + 0x35c]
call fcn.00426780
jmp case.default.0x465044
test esi, esi
je case.default.0x465044
mov ecx, esi
call fcn.00479210
jmp case.default.0x465044
push ecx
push dword [ebp + 0x10]
mov ecx, edi
push esi
call fcn.0046a660
jmp case.default.0x465044
push 1
mov ecx, edi
call fcn.004617b0
jmp case.default.0x465044
mov eax, dword [edi + 0x320]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push eax
mov ecx, edi
call fcn.00467020
jmp case.default.0x465044
mov ecx, edi
call fcn.00466ff0
jmp case.default.0x465044
push esi
mov ecx, edi
call fcn.00467090
jmp case.default.0x465044
call fcn.0040e9c0
mov ecx, eax
call fcn.00470d40
test al, al
je case.default.0x465044
push 0
push 0x64
push 0x7d4
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x465044
push esi
mov ecx, edi
call fcn.00468a80
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005bb391
mov esp, ebp
pop ebp
ret 0x10