Function at 0x40a2c0
Capabilities:
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x448b56
mov eax, dword fs:[0]
push eax
sub esp, 0x358
mov eax, dword [0x458ad0]
xor eax, esp
mov dword [esp + 0x350], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x458ad0]
xor eax, esp
push eax
lea eax, [esp + 0x36c]
mov dword fs:[0], eax
mov esi, ecx
mov edi, dword [esp + 0x37c]
xor ebx, ebx
mov dword [esp + 0x374], ebx
mov dword [esp + 0x34], ebx
mov eax, dword [0x45d048]
push eax
mov dword [esp + 0x20], edi
call dword [0x45d07c]
add esp, 4
test eax, eax
je 0x40a34a
mov ecx, esi
call sym..exe_public:_void___thiscall_SnakeLib::ResetPhone_void_
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x45d048]
push ecx
call dword [0x45d07c]
add esp, 4
mov edx, dword [0x45d048]
push edx
call dword [0x45d094]
add esp, 4
push edi
mov esi, eax
call fcn.00404150
push esi
push ecx
push 0x44e594
mov dword [esp + 0x380], ebx
push 0x45cd58
mov dword [esp + 0x44], 1
call fcn.0040f930
add esp, 0xc
push eax
call fcn.0040c9d0
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0040cb50
mov ecx, esi
call fcn.0040cc70
mov ecx, dword [0x45d048]
lea eax, [esp + 0x20]
push eax
push ebx
push ecx
call dword [0x45d0a0]
add esp, 0xc
push eax
push ecx
push 0x44e5ac
push 0x45cd58
call fcn.0040f930
add esp, 0xc
push eax
call fcn.0040c9d0
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0040cb50
mov ecx, esi
call fcn.0040cc70
mov edx, dword [0x45d048]
push edx
call dword [0x45d0a4]
add esp, 4
push eax
push ecx
push 0x44e440
push 0x45cd58
call fcn.0040f930
add esp, 0xc
push eax
call fcn.0040c9d0
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0040cb50
mov ecx, esi
call fcn.0040cc70
mov eax, dword [0x45cfc0]
mov esi, dword [esp + 0x20]
push 0x44eb50
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push esi
call eax
xor ecx, ecx
add esp, 4
mov esi, eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041e1f3
add esp, 4
mov dword [esp + 0x18], eax
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041e1f3
mov ebp, dword [esp + 0x24]
add esp, 4
mov edi, eax
mov eax, dword [0x45cfc0]
push 0x44eb68
push eax
mov dword [esp + 0x38], edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esp + 0x18]
push edi
push ecx
push ebp
call eax
add esp, 0xc
cmp esi, ebx
jle 0x40a91f
mov ecx, dword [esp + 0x18]
mov eax, edi
sub ecx, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], esi
mov ebp, 0xf
jmp 0x40a4c8
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x294], ebp
mov dword [esp + 0x290], ebx
mov byte [esp + 0x280], bl
mov dword [esp + 0x2b0], ebp
mov dword [esp + 0x2ac], ebx
mov byte [esp + 0x29c], bl
mov dword [esp + 0x2cc], ebp
mov dword [esp + 0x2c8], ebx
mov byte [esp + 0x2b8], bl
mov dword [esp + 0x2ec], ebp
mov dword [esp + 0x2e8], ebx
mov byte [esp + 0x2d8], bl
mov dword [esp + 0x308], ebp
mov dword [esp + 0x304], ebx
mov byte [esp + 0x2f4], bl
mov dword [esp + 0x324], ebp
mov dword [esp + 0x320], ebx
mov byte [esp + 0x310], bl
mov dword [esp + 0x340], ebp
mov dword [esp + 0x33c], ebx
mov byte [esp + 0x32c], bl
mov dword [esp + 0x35c], ebp
mov dword [esp + 0x358], ebx
mov byte [esp + 0x348], bl
mov dword [esp + 0x374], 1
mov ecx, dword [ecx + eax]
mov esi, dword [eax]
mov dword [esp + 0x14], ecx
cmp ecx, ebx
jne 0x40a58c
xor edi, edi
jmp 0x40a5aa
mov edx, dword [0x45cfc0]
push 0x44eb20
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esp + 0x14]
push ecx
call eax
add esp, 4
mov edi, eax
push ebx
push 0x44e187
lea ecx, [esp + 0x268]
mov dword [esp + 0x280], ebp
mov dword [esp + 0x27c], ebx
mov byte [esp + 0x26c], bl
call fcn.004051d0
mov byte [esp + 0x374], 2
mov edx, dword [0x45cfc0]
push 0x44ec24
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
cmp edi, eax
jne 0x40a603
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x260]
push eax
push ecx
call fcn.00411560
cmp esi, ebx
jne 0x40a60b
xor edi, edi
jmp 0x40a625
mov edx, dword [0x45cfc0]
push 0x44eb20
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push esi
call eax
add esp, 4
mov edi, eax
mov eax, dword [0x45cfc0]
push 0x44eb38
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
cmp edi, eax
jne 0x40a7b5
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x13
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push str.CFBundleDisplayName
mov byte [ecx + 4], bl
call fcn.004051d0
mov edx, esi
lea ecx, [esp + 0x54]
call fcn.00410670
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x2a4]
mov byte [esp + 0x380], 3
call fcn.00403f10
mov edi, 0x10
mov byte [esp + 0x374], 2
cmp dword [esp + 0x50], edi
jb 0x40a6a1
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0041e1fe
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push ebp
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push str.ApplicationType
mov byte [ecx + 4], bl
call fcn.004051d0
mov edx, esi
lea ecx, [esp + 0x54]
call fcn.00410670
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x350]
mov byte [esp + 0x380], 4
call fcn.00403f10
mov byte [esp + 0x374], 2
cmp dword [esp + 0x50], edi
jb 0x40a6fc
mov edx, dword [esp + 0x3c]
push edx
call fcn.0041e1fe
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 4
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push str.Path
mov byte [ecx + 4], bl
call fcn.004051d0
mov edx, esi
lea ecx, [esp + 0x54]
call fcn.00410670
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x2e0]
mov byte [esp + 0x380], 5
call fcn.00403f10
mov byte [esp + 0x374], 2
cmp dword [esp + 0x50], edi
jb 0x40a758
mov eax, dword [esp + 0x3c]
push eax
call fcn.0041e1fe
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push ebp
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push str.CFBundleVersion
mov byte [ecx + 4], bl
call fcn.004051d0
mov edx, esi
lea ecx, [esp + 0x54]
call fcn.00410670
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x2fc]
mov byte [esp + 0x380], 6
call fcn.00403f10
mov byte [esp + 0x374], 2
cmp dword [esp + 0x50], edi
jb 0x40a7ba
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0041e1fe
add esp, 4
jmp 0x40a7ba
mov edi, 0x10
mov edx, dword [esp + 0x264]
cmp dword [esp + 0x278], edi
jae 0x40a7d1
lea edx, [esp + 0x264]
xor eax, eax
mov ecx, 0x44e187
call fcn.00401090
cmp eax, ebx
jne 0x40a7f5
xor eax, eax
cmp dword [esp + 0x274], ebx
setne al
cmp eax, ebx
je 0x40a8ca
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x268]
push edx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x80], ebx
mov byte [esp + 0x70], bl
call fcn.00403f10
lea eax, [esp + 0x7c]
push eax
lea edi, [esp + 0x280]
mov byte [esp + 0x378], 7
call fcn.00406b20
lea ecx, [esp + 0x160]
push ecx
lea ecx, [esp + 0x64]
mov byte [esp + 0x378], 8
call fcn.00406a80
lea edx, [esp + 0x160]
mov byte [esp + 0x374], 9
mov eax, dword [esp + 0x1c]
push edx
push eax
lea ebx, [esp + 0x5c]
call fcn.0040ccd0
lea esi, [esp + 0x17c]
call fcn.00406c60
mov edi, 0x10
cmp dword [esp + 0x178], edi
jb 0x40a895
mov ecx, dword [esp + 0x164]
push ecx
call fcn.0041e1fe
add esp, 4
xor eax, eax
lea esi, [esp + 0x7c]
mov dword [esp + 0x178], ebp
mov dword [esp + 0x174], eax
mov byte [esp + 0x164], al
call fcn.00406c60
cmp dword [esp + 0x78], edi
jb 0x40a8c8
mov edx, dword [esp + 0x64]
push edx
call fcn.0041e1fe
add esp, 4
xor ebx, ebx
cmp dword [esp + 0x278], edi
jb 0x40a8e3
mov eax, dword [esp + 0x264]
push eax
call fcn.0041e1fe
add esp, 4
lea esi, [esp + 0x27c]
mov dword [esp + 0x278], ebp
mov dword [esp + 0x274], ebx
mov byte [esp + 0x264], bl
mov byte [esp + 0x374], bl
call fcn.00406c60
add dword [esp + 0x24], 4
sub dword [esp + 0x28], 1
jne 0x40a4c0
mov edi, dword [esp + 0x30]
mov ecx, dword [0x45cfc0]
mov esi, dword [esp + 0x20]
push 0x44eb2c
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push esi
call eax
mov edx, dword [esp + 0x1c]
add esp, 4
push edx
call fcn.0041e1fe
add esp, 4
push edi
call fcn.0041e1fe
mov eax, dword [0x45d048]
add esp, 4
push eax
call dword [0x45d0a4]
add esp, 4
push eax
push ecx
push 0x44e440
push 0x45cd58
call fcn.0040f930
add esp, 0xc
push eax
call fcn.0040c9d0
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0040cb50
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
lea eax, [edx + esi]
xor edi, edi
test byte [eax + 8], 6
jne 0x40a9ab
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0x40a9ab
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
cmp edi, ebx
je 0x40a9ca
mov eax, dword [ecx + 8]
or eax, edi
cmp dword [ecx + 0x28], ebx
jne 0x40a9c3
or eax, 4
push ebx
push eax
call fcn.00409480
mov edx, dword [0x45d048]
push edx
call dword [0x45d0a8]
add esp, 4
push eax
push ecx
push 0x44e458
push 0x45cd58
call fcn.0040f930
add esp, 0xc
push eax
call fcn.0040c9d0
mov esi, eax
push 0xa
mov ecx, esi
call fcn.0040cb50
mov eax, dword [esi]
mov ecx, dword [eax + 4]
lea eax, [ecx + esi]
xor edi, edi
test byte [eax + 8], 6
jne 0x40aa25
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0x40aa25
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
cmp edi, ebx
je 0x40aa44
mov eax, dword [ecx + 8]
or eax, edi
cmp dword [ecx + 0x28], ebx
jne 0x40aa3d
or eax, 4
push ebx
push eax
call fcn.00409480
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x36c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x350]
xor ecx, esp
call fcn.00428e93
add esp, 0x364
ret 4