Function at 0x464760
Capabilities:
Create thread
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x49b95b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x148
mov eax, dword [0x4be818]
push ebx
push ebp
push esi
push edi
mov ebx, ecx
mov dword [esp + 0x10], eax
mov ecx, dword [ebx + 0x9d4]
lea eax, [ebx + 0xf64]
mov dword [esp + 0x38], eax
lea eax, [ebx + 0xccc]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x9d0]
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
mov esi, dword [ebx + 0x88]
mov dword [esp + 0x44], ecx
xor edi, edi
mov dword [esp + 0x40], eax
add ecx, 0x8c
lea edx, [ebx + 0x78]
add eax, 0x8c
mov dword [esp + 0x54], ecx
mov ecx, dword [ebx + 0xdb4]
push edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x54], eax
push edi
lea edx, [ebx + 0x7c]
lea eax, [esp + 0x60]
push 0x130b
push ecx
mov dword [esp + 0x170], edi
mov dword [esp + 0x5c], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 0x100
mov dword [esp + 0x28], 4
call ebp
mov edx, eax
mov dword [ebx + 0x88], eax
xor edx, esi
test edx, 0xfffffffe
je 0x46485a
cmp eax, 2
push edi
jge 0x464842
mov ecx, dword [ebx + 0x9d4]
call fcn.00429350
mov ecx, dword [ebx + 0x9d0]
push 1
call fcn.0042a720
jmp 0x46485a
mov ecx, dword [ebx + 0x9d0]
call fcn.0042a720
mov ecx, dword [ebx + 0x9d4]
push 1
call fcn.00429350
mov esi, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x88]
shl esi, 1
xor eax, eax
cmp edx, 2
setge al
lea ecx, [esp + 0x38]
or esi, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x14]
xor edx, edx
cmp edi, esi
mov ecx, dword [eax]
setne dl
dec edx
and edx, 5
push edx
call fcn.004880ba
mov ecx, dword [esp + 0x14]
inc edi
add ecx, 4
cmp edi, 4
mov dword [esp + 0x14], ecx
jl 0x464877
mov ecx, dword [esp + esi*4 + 0x48]
mov eax, dword [ecx]
lea ecx, [ebx + 0xe60]
push eax
call fcn.00487fb9
mov edx, dword [ebx + 0xd70]
mov esi, dword [sym.imp.USER32.dll_RedrawWindow]
push 0x105
push 0
push 0
push edx
call esi
mov eax, dword [ebx + 0xd2c]
push 0x105
push 0
push 0
push eax
call esi
mov eax, dword [ebx + 0x88]
cmp eax, 2
mov eax, 0x4be440
jl 0x4648f0
mov eax, 0x4be430
push eax
push 0x49a
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
mov eax, dword [ebx + 0xf4]
test eax, eax
je 0x464943
mov ecx, dword [eax + 0x588]
test ecx, ecx
je 0x464929
mov eax, dword [ebx + 0x18c]
test eax, eax
je 0x464929
mov eax, 1
jmp 0x46492b
xor eax, eax
mov dword [ebx + 0xde0], eax
mov ecx, dword [ebx + 0xdb4]
push 0x105
push 0
push 0
push ecx
call esi
mov eax, dword [ebx + 0x88]
test eax, eax
jne 0x464afe
mov eax, dword [ebx + 0xdc]
test eax, eax
je 0x46498c
lea edx, [ebx + 0x188]
mov ecx, ebx
push edx
call fcn.00461510
lea eax, [ebx + 0x1dc]
mov ecx, ebx
push eax
call fcn.00460700
lea ecx, [ebx + 0x1a0]
push ecx
lea ecx, [esp + 0x14]
call fcn.0048456c
jmp 0x464a52
push str.YourName
push 0x3fe
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.LevelUp
push 0x401
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.Level
push 0x400
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.Money
push 0x405
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.Protect
push 0x487
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.DogFood
push 0x486
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
mov edx, dword [ebx + 0xf08]
push 0
push 0
push 0x1004
push edx
call ebp
test eax, eax
je 0x464a44
mov eax, dword [ebx + 0xf08]
push 0
push 0
push 0x1009
push eax
call ebp
push 0x4c2d98
lea ecx, [esp + 0x14]
call fcn.004845bc
push 0x4be41c
push 0x489
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push 0x4be414
push 0x48a
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
mov edi, 0x4bb670
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea eax, [esp + 0x18]
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x24]
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 3
and ecx, 3
push 0x101a
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0xf08]
push ecx
call ebp
mov edi, 0x4be3a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea eax, [esp + 0x18]
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x24]
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 5
and ecx, 3
push 0x101a
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0xf08]
push ecx
call ebp
mov edi, 0x4be398
jmp 0x46507a
cmp eax, 1
jne 0x464d5a
mov eax, dword [ebx + 0xf4]
test eax, eax
je 0x464bb6
push eax
mov ecx, ebx
call fcn.00461510
mov edx, dword [ebx + 0xf4]
mov ecx, ebx
add edx, 0x54
push edx
call fcn.00460700
mov eax, dword [ebx + 0xf4]
lea ecx, [esp + 0x10]
add eax, 0x18
push eax
call fcn.0048456c
mov ecx, dword [ebx + 0xf80]
xor esi, esi
push esi
push esi
push 0x1004
push ecx
call ebp
test eax, eax
jle 0x464c7c
lea edi, [ebx + 0xf64]
push esi
mov ecx, edi
call fcn.004832f4
cmp eax, dword [ebx + 0xf4]
je 0x464b8d
mov edx, dword [ebx + 0xf80]
push 0
push 0
push 0x1004
push edx
inc esi
call ebp
cmp esi, eax
jl 0x464b5b
jmp 0x464c7c
push 2
push 2
push esi
mov ecx, edi
call fcn.004831f9
mov eax, dword [ebx + 0xf80]
push 0
push esi
push 0x1013
push eax
call ebp
mov ecx, edi
call fcn.00488123
jmp 0x464c7c
push str.FriendName
push 0x3fe
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.LevelUp
push 0x401
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.Level
push 0x400
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.Money
push 0x405
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.Protect
push 0x487
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.DogFood
push 0x486
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
mov ecx, dword [ebx + 0xf08]
push 0
push 0
push 0x1004
push ecx
call ebp
test eax, eax
je 0x464c6e
mov edx, dword [ebx + 0xf08]
push 0
push 0
push 0x1009
push edx
call ebp
push 0x4c2d98
lea ecx, [esp + 0x14]
call fcn.004845bc
push 0x4be41c
push 0x489
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push 0x4be414
push 0x48a
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
mov edi, 0x4bb670
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebx + 0xf08]
lea ecx, [esp + 0x18]
push ecx
push 3
push 0x101a
push edx
call ebp
mov edi, 0x4be3a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebx + 0xf08]
lea ecx, [esp + 0x18]
push ecx
push 5
push 0x101a
push edx
call ebp
mov edi, 0x4be398
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebx + 0xf08]
lea ecx, [esp + 0x18]
push ecx
push 6
push 0x101a
push edx
jmp 0x4650ac
cmp eax, 2
jne 0x464e4d
mov eax, dword [ebx + 0xdc]
test eax, eax
je 0x464d9e
lea eax, [ebx + 0x808]
mov ecx, ebx
push eax
call fcn.00461830
lea ecx, [ebx + 0x850]
push ecx
mov ecx, ebx
call fcn.00460c50
lea edx, [ebx + 0x1a0]
lea ecx, [esp + 0x10]
push edx
call fcn.0048456c
jmp 0x464fd3
push str.YourName
push 0x3fe
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.LevelUp
push 0x401
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.Level
push 0x400
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.Money
push 0x405
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.Food
push 0x486
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push 0x4c2d98
push 0x487
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
mov eax, dword [ebx + 0xf08]
push 0
push 0
push 0x1004
push eax
call ebp
test eax, eax
je 0x464fc5
jmp 0x464fb3
cmp eax, 3
jne 0x4650ae
mov eax, dword [ebx + 0xf4]
test eax, eax
je 0x464f0d
mov esi, dword [eax + 0x588]
test esi, esi
je 0x464f0d
push esi
mov ecx, ebx
call fcn.00461830
add esi, 0x48
mov ecx, ebx
push esi
call fcn.00460c50
mov edx, dword [ebx + 0xf4]
lea ecx, [esp + 0x10]
add edx, 0x18
push edx
call fcn.0048456c
mov eax, dword [ebx + 0xce8]
xor esi, esi
push esi
push esi
push 0x1004
push eax
call ebp
test eax, eax
jle 0x464fd3
lea edi, [ebx + 0xccc]
push esi
mov ecx, edi
call fcn.004832f4
cmp eax, dword [ebx + 0xf4]
je 0x464ee4
mov ecx, dword [ebx + 0xce8]
push 0
push 0
push 0x1004
push ecx
inc esi
call ebp
cmp esi, eax
jl 0x464eb2
jmp 0x464fd3
push 2
push 2
push esi
mov ecx, edi
call fcn.004831f9
mov edx, dword [ebx + 0xce8]
push 0
push esi
push 0x1013
push edx
call ebp
mov ecx, edi
call fcn.00488123
jmp 0x464fd3
push str.FriendName
push 0x3fe
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.LevelUp
push 0x401
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.Level
push 0x400
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.Money
push 0x405
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push str.Food
push 0x486
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push 0x4c2d98
push 0x487
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
mov eax, dword [ebx + 0xf08]
push 0
push 0
push 0x1004
push eax
call ebp
test eax, eax
je 0x464fc5
mov ecx, dword [ebx + 0xf08]
push 0
push 0
push 0x1009
push ecx
call ebp
push 0x4c2d98
lea ecx, [esp + 0x14]
call fcn.004845bc
push 0x4be40c
push 0x489
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
push 0x4c2d98
push 0x48a
mov ecx, ebx
call fcn.00487ec9
mov ecx, eax
call fcn.00487fb9
mov edi, 0x4be400
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea eax, [esp + 0x18]
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x24]
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 3
and ecx, 3
push 0x101a
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0xf08]
push ecx
call ebp
mov edi, 0x4be3f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea eax, [esp + 0x18]
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x24]
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 5
and ecx, 3
push 0x101a
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0xf08]
push ecx
call ebp
mov edi, 0x4be3f0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea eax, [esp + 0x18]
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x24]
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 6
and ecx, 3
push 0x101a
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0xf08]
push ecx
call ebp
lea edx, [esp + 0x10]
lea ecx, [ebx + 0xd4]
push edx
call fcn.0048456c
mov eax, dword [ebx + 0xd8]
test eax, eax
jne 0x4650ed
push 0
push 0
push ebx
push 0x4632f0
push 0
push 0
mov dword [ebx + 0xd8], 1
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x16c]
lea ecx, [esp + 0x10]
mov dword [esp + 0x160], 0xffffffff
mov dword [eax], 0
call fcn.00484433
mov ecx, dword [esp + 0x158]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x154
ret 8