Function at 0x4d0415
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1414
call fcn.00515150
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xc]
cmp eax, 0x4e584e43
ja 0x4d0a1c
cmp eax, 0x4e584e42
jae 0x4d0ac3
cmp eax, 0x48545541
ja 0x4d083d
cmp eax, 0x48545540
jae 0x4d0567
cmp eax, 0x434e5952
jb 0x4d048c
cmp eax, 0x434e5953
jbe 0x4d049c
cmp eax, 0x45534c41
jbe 0x4d048c
cmp eax, 0x45534c43
jbe 0x4d0bf9
cmp eax, 0x45545255
jbe 0x4d048c
cmp eax, 0x45545257
jbe 0x4d0b9b
push eax
push str.handle_packet:_what_is__08x___n
call fcn.004f9cd6
jmp 0x4d05b9
xor ebx, ebx
cmp dword [edi + 0x10], ebx
je 0x4d04c5
push edi
mov edi, dword [ebp + 0xc]
call fcn.004d76a1
pop ecx
cmp dword [0x65e1a0], ebx
je 0x4d0d55
mov eax, edi
call fcn.004ca8d4
jmp 0x4d0d55
mov esi, dword [ebp + 0xc]
lea eax, [esp + 0x10]
mov dword [esi + 0x44], ebx
lea ebx, [esi + 0x58]
push eax
call fcn.004d1eb8
cmp dword [esp + 0x10], 0
mov eax, dword [0x65f518]
mov dword [esp + 0x1c], eax
je 0x4d04f4
mov eax, dword [esp + 0x10]
cmp eax, dword [0x65f500]
je 0x4d04f9
call fcn.004f825e
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x1c]
je 0x4d0512
push eax
push dword [esp + 0x14]
lea eax, [esp + 0x20]
push eax
call fcn.004d1bc4
cmp byte [esi + 0xbc], 0x43
jne 0x4d0522
push esi
call fcn.004cf8d2
pop ecx
push 0x624a2c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, esi
call fcn.004ca813
push edi
mov edi, esi
call fcn.004d76a1
cmp dword [ebx], 0
pop ecx
je 0x4d0557
mov eax, dword [0x65e1ac]
test eax, eax
je 0x4d0557
push dword [0x65e1b0]
push dword [ebx]
call eax
pop ecx
pop ecx
push 0x624a2c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x4d0d55
mov eax, dword [edi + 0x10]
cmp eax, 1
jne 0x4d07bb
mov ebx, dword [ebp + 0xc]
mov dword [ebx + 0x44], 7
mov eax, dword [0x64d8d0]
mov edx, dword [ebx + 0x84]
mov ecx, 0x64d8d0
cmp eax, ecx
je 0x4d059f
test edx, edx
je 0x4d05a1
cmp eax, edx
je 0x4d05bf
mov eax, dword [eax]
cmp eax, ecx
jne 0x4d0595
xor eax, eax
mov dword [ebx + 0x84], eax
test eax, eax
je 0x4d05cd
push dword [edi + 0x18]
lea eax, [edi + 0x24]
push eax
mov eax, ebx
call fcn.004caa82
pop ecx
jmp 0x4d0d4d
mov edx, dword [eax]
mov eax, edx
sub eax, ecx
neg eax
sbb eax, eax
and eax, edx
jmp 0x4d05a1
cmp dword [ebx], 0
je 0x4d05e7
mov eax, dword [ebx]
cmp dword [eax + 0x44], 2
jne 0x4d05e7
cmp byte [eax + 0xbc], 0x43
je 0x4d0d4e
push ebx
call fcn.004d85c9
pop ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x4d07a1
push eax
call fcn.004cf992
mov esi, eax
pop ecx
test esi, esi
je 0x4d0662
mov eax, dword [esi + 8]
test eax, eax
je 0x4d061f
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
neg eax
sbb al, al
inc al
jmp 0x4d0621
xor al, al
test al, al
je 0x4d062b
cmp byte [esi + 4], 0
je 0x4d0662
call fcn.004cb044
mov ecx, dword [esi + 0x1c]
inc ecx
cmp ecx, eax
jge 0x4d0662
cmp byte [esi + 4], 0
jne 0x4d0662
mov esi, 0x624a10
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ebx, [ebp + 0xc]
call fcn.004d2514
push edi
mov byte [eax], 1
call fcn.004f6d01
pop ecx
push esi
jmp 0x4d055c
mov esi, 0x400
push esi
lea eax, [esp + 0x424]
push eax
push 0
mov byte [esp + 0x1b], 1
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push str.mobileadapt.ini
lea eax, [esp + 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [esp + 0x420]
push eax
push esi
lea eax, [esp + 0xc28]
push eax
push 0
push str.0x43_dummy
push str.devices_ext
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x4d06da
lea eax, [esp + 0xc20]
push eax
call fcn.004f7d3f
test eax, eax
pop ecx
setne byte [esp + 0xf]
cmp byte [esp + 0xf], 0
mov eax, dword [esp + 0x10]
mov byte [eax + 0xdc], 0
je 0x4d07a1
push 0x624a10
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ebx, [ebp + 0xc]
call fcn.004d2514
push edi
mov byte [eax], 1
call fcn.004f6d01
mov dword [esp], 0x3ff
lea eax, [esp + 0x25]
push 0
push eax
call fcn.004fe380
mov ebx, dword [esp + 0x1c]
add esp, 0xc
push 0x13
pop ecx
mov esi, str.device::ro.product.namepisces_ro.product.modelMI_3_ro.product.devicepisces_
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [esp + 0x20]
push ebx
push eax
movsb byte es:[edi], byte [esi]
call fcn.004cac85
push 0x400
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004fe380
mov esi, str.device::9.
lea edi, [esp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add esp, 0x14
movsw word es:[edi], word [esi]
lea eax, [esp + 0x20]
push ebx
push eax
movsb byte es:[edi], byte [esi]
call fcn.004cac85
mov dword [ebx + 0x44], 2
call fcn.004d7a10
push str.device::9.
push ebx
mov dword [ebx + 0x48], 1
mov byte [ebx + 0xdc], 1
call fcn.004cfa47
add esp, 0x10
push 0x624a10
jmp 0x4d055c
mov esi, ebx
call fcn.004d03cd
test al, al
je 0x4d0d4e
push ebx
call fcn.004caae3
jmp 0x4d0d4d
cmp eax, 2
jne 0x4d081d
push dword [edi + 0x18]
mov esi, dword [ebp + 0xc]
lea eax, [edi + 0x24]
push eax
lea eax, [esi + 0x88]
push eax
call fcn.004dbea5
add esp, 0xc
test eax, eax
je 0x4d07f7
mov eax, esi
mov dword [esi + 0x48], 1
call fcn.004ca8d4
and dword [esi + 0xb8], 0
jmp 0x4d0d4e
lea eax, [esi + 0xb8]
mov ecx, dword [eax]
lea edx, [ecx + 1]
mov dword [eax], edx
cmp ecx, 0xa
jbe 0x4d0d26
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4d0d26
cmp eax, 3
jne 0x4d0d4e
push dword [ebp + 0xc]
add edi, 0x24
push dword [edi - 0xc]
call fcn.004dbfbc
pop ecx
mov edi, dword [ebp + 8]
jmp 0x4d0d4d
cmp eax, 0x4d524550
je 0x4d0893
cmp eax, 0x4e45504d
jbe 0x4d048c
cmp eax, 0x4e45504f
ja 0x4d048c
call fcn.004d19b3
mov ebx, dword [ebp + 0xc]
test al, al
je 0x4d0c42
cmp byte [ebx + 0xbc], 0x48
jne 0x4d0c42
mov esi, ebx
call fcn.004d03cd
test al, al
je 0x4d0c42
push ebx
mov eax, edi
call fcn.004d01d3
jmp 0x4d0d4d
mov ebx, dword [ebp + 0xc]
cmp byte [ebx + 0xdc], 0
jne 0x4d0d4e
cmp dword [ebx + 4], 0
je 0x4d08cc
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x58]
test eax, eax
je 0x4d08cc
cmp dword [ebx + 0x58], 0
je 0x4d08cc
push eax
push dword [ebx + 0x58]
call fcn.005085c9
pop ecx
pop ecx
test eax, eax
je 0x4d0d4e
push ebx
call fcn.004cf794
pop ecx
mov esi, eax
call fcn.004cb044
mov ecx, dword [esi + 0x1c]
inc ecx
cmp ecx, eax
jge 0x4d08f5
cmp byte [esi + 4], 0
jne 0x4d08f5
push edi
mov eax, esi
call fcn.004cf57c
jmp 0x4d0d4e
push ebx
call fcn.004cf8d2
pop ecx
mov esi, 0x400
push esi
lea eax, [esp + 0x424]
push eax
push 0
mov byte [esp + 0x1b], 1
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push str.mobileadapt.ini
lea eax, [esp + 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [esp + 0x420]
push eax
push esi
lea eax, [esp + 0xc28]
push eax
push 0
push str.0x43_dummy
push str.devices_ext
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x4d0974
lea eax, [esp + 0xc20]
push eax
call fcn.004f7d3f
test eax, eax
pop ecx
setne byte [esp + 0xf]
cmp byte [esp + 0xf], 0
mov byte [ebx + 0xdc], 0
mov dword [esp + 0x10], str.device::9.
je 0x4d0a08
push 0x400
lea eax, [esp + 0x24]
push 0
push eax
call fcn.004fe380
add esp, 0xc
push 0x13
pop ecx
mov esi, str.device::ro.product.namepisces_ro.product.modelMI_3_ro.product.devicepisces_
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [esp + 0x20]
push ebx
push eax
movsb byte es:[edi], byte [esi]
call fcn.004cac85
push 0x400
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004fe380
mov esi, str.device::9.
lea edi, [esp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add esp, 0x14
movsw word es:[edi], word [esi]
lea eax, [esp + 0x20]
push ebx
push eax
movsb byte es:[edi], byte [esi]
call fcn.004cac85
pop ecx
pop ecx
mov dword [ebx + 0x44], 2
call fcn.004d7a10
mov edi, dword [ebp + 8]
mov dword [ebx + 0x48], 1
mov byte [ebx + 0xdc], 1
jmp 0x4d0a0d
and dword [esp + 0x10], 0
push dword [esp + 0x10]
push ebx
call fcn.004cfa47
jmp 0x4d05b9
cmp eax, 0x4e584e45
je 0x4d0ccc
cmp eax, 0x4f45504f
je 0x4d085a
cmp eax, 0x4f534c43
je 0x4d0bf9
cmp eax, 0x4f545257
je 0x4d0b9b
cmp eax, 0x4f584e43
je 0x4d0ac3
lea ecx, [eax - 0x59414b4e]
cmp ecx, 1
ja 0x4d048c
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x48], 0
je 0x4d0d4e
cmp dword [edi + 0x10], 0
je 0x4d0d4e
mov eax, dword [edi + 0x14]
test eax, eax
je 0x4d0d4e
push eax
xor ebx, ebx
call fcn.004d909b
mov esi, eax
pop ecx
test esi, esi
je 0x4d0d4e
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x4d0ab5
push dword [edi + 0x10]
mov ebx, dword [ebp + 0xc]
call fcn.004d95c9
mov dword [esi + 0x14], eax
pop ecx
mov dword [eax + 0x14], esi
push esi
call dword [esi + 0x44]
jmp 0x4d0d4d
mov eax, dword [eax + 8]
cmp eax, dword [edi + 0x10]
jne 0x4d0d4e
jmp 0x4d0aac
mov esi, dword [ebp + 0xc]
xor ebx, ebx
cmp dword [esi + 0x44], ebx
je 0x4d0ae7
mov dword [esi + 0x44], ebx
cmp byte [esi + 0xbc], 0x43
jne 0x4d0ae0
push esi
call fcn.004cf8d2
pop ecx
mov eax, esi
call fcn.004ca813
cmp byte [esi + 0xbc], 0x43
lea eax, [edi + 0x24]
je 0x4d0b7f
push esi
push eax
call fcn.004cac85
pop ecx
pop ecx
cmp dword [0x65e1a0], ebx
jne 0x4d0b14
cmp dword [0x65e1a8], ebx
jne 0x4d0d26
call fcn.004d19b3
test al, al
je 0x4d0b3f
cmp byte [esi + 0xbc], 0x48
jne 0x4d0b3f
call fcn.004d03cd
test al, al
je 0x4d0b3c
mov ebx, dword [ebp + 0xc]
call fcn.004d0188
jmp 0x4d0d4e
mov esi, dword [ebp + 0xc]
mov dword [esi + 0x48], 1
cmp dword [0x65e1a0], ebx
jne 0x4d0b55
mov eax, esi
call fcn.004ca8d4
cmp dword [esi + 0x44], 2
jne 0x4d0b68
cmp byte [esi + 0xbc], 0x43
je 0x4d0d2f
mov edi, dword [esi + 0x58]
call fcn.004ca92a
push 0x496
call fcn.004cab75
jmp 0x4d0835
cmp byte [esi + 0xdc], bl
je 0x4d0d05
push eax
push esi
jmp 0x4d0a12
mov dword [esi + 0x48], 1
jmp 0x4d0b55
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x48], 0
je 0x4d0d4e
mov ebx, dword [edi + 0x10]
test ebx, ebx
je 0x4d0d4e
mov eax, dword [edi + 0x14]
test eax, eax
je 0x4d0d4e
push eax
call fcn.004d909b
mov ebx, eax
pop ecx
test ebx, ebx
je 0x4d0d4e
mov eax, dword [edi + 0x18]
mov esi, dword [edi + 0x10]
push edi
push ebx
mov dword [edi + 4], eax
call dword [ebx + 0x40]
pop ecx
pop ecx
test eax, eax
jne 0x4d0d55
mov eax, dword [ebp + 0xc]
push esi
push dword [ebx + 8]
call fcn.004ca828
pop ecx
jmp 0x4d0d54
mov esi, dword [ebp + 0xc]
cmp dword [esi + 0x48], 0
je 0x4d0d4e
mov eax, dword [edi + 0x14]
test eax, eax
je 0x4d0d4e
mov ebx, dword [edi + 0x10]
push eax
call fcn.004d909b
pop ecx
test eax, eax
je 0x4d0d4e
cmp dword [edi + 0x10], 0
jne 0x4d0c39
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x4d0c39
cmp dword [ecx + 0x50], esi
jne 0x4d0d4e
push eax
call dword [eax + 0x4c]
jmp 0x4d0d4d
xor edx, edx
cmp dword [ebx + 0x48], edx
je 0x4d0d4e
cmp dword [edi + 0x10], edx
je 0x4d0d4e
cmp dword [edi + 0x14], edx
jne 0x4d0d4e
mov ecx, dword [edi + 0x18]
lea eax, [edi + 0x24]
cmp ecx, edx
jbe 0x4d0c6c
dec ecx
jmp 0x4d0c6e
xor ecx, ecx
mov byte [ecx + eax], dl
call fcn.004d9476
mov esi, eax
test esi, esi
jne 0x4d0ca0
mov edi, dword [edi + 0x10]
call fcn.004ca7ea
mov ecx, dword [ebx + 0xd0]
and dword [eax + 0x10], esi
mov dword [eax + 0x14], edi
push eax
mov edi, ebx
mov dword [eax + 0xc], ecx
call fcn.004d76a1
jmp 0x4d0835
push dword [edi + 0x10]
call fcn.004d95c9
mov dword [esi + 0x14], eax
mov dword [eax + 0x14], esi
mov eax, dword [esi + 0x14]
pop ecx
push dword [eax + 8]
mov eax, dword [ebp + 0xc]
push dword [esi + 8]
call fcn.004ca828
push esi
call dword [esi + 0x44]
add esp, 0xc
jmp 0x4d0d4e
mov esi, dword [ebp + 0xc]
cmp byte [esi + 0xbc], 0x43
jne 0x4d0d4e
cmp byte [esi + 0xdc], 1
jne 0x4d0d4e
xor ebx, ebx
cmp dword [esi + 0x44], ebx
je 0x4d0d02
mov dword [esi + 0x44], ebx
cmp byte [esi + 0xbc], 0x43
jne 0x4d0cfb
push esi
call fcn.004cf8d2
pop ecx
mov eax, esi
call fcn.004ca813
lea eax, [edi + 0x24]
push esi
push eax
call fcn.004cac85
pop ecx
pop ecx
cmp dword [0x65e1a0], ebx
jne 0x4d0b92
cmp dword [0x65e1a8], ebx
je 0x4d0b92
mov ebx, esi
call fcn.004caa15
jmp 0x4d0d4e
push esi
call fcn.004cf794
pop ecx
call fcn.004cf621
push esi
call fcn.004cf8d2
mov dword [esp], 0x4a1
call fcn.004cab75
pop ecx
push edi
call fcn.004f6d01
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret