Function at 0x4d7110
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x10a4
call fcn.00424620
mov eax, dword [0x5923b4]
xor eax, esp
mov dword [esp + 0x10a0], eax
mov eax, dword [esp + 0x10b4]
push ebx
mov ebx, dword [esp + 0x10b4]
push ebp
push esi
mov esi, dword [esp + 0x10b4]
xor ebp, ebp
push edi
mov edi, dword [esp + 0x10bc]
mov dword [esp + 0x28], eax
xor eax, eax
push eax
push 0x50
push eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x44], 2
mov dword [esp + 0x4c], 3
mov dword [esp + 0x48], 4
mov dword [esp + 0x40], 5
mov dword [esp + 0x64], 6
call fcn.00414af0
push dword [esp + 0x38]
mov eax, dword [esi + 0x80]
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x84]
push ebx
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x88]
push edi
push esi
mov dword [esi + 0x80], ebp
mov dword [esi + 0x84], ebp
mov dword [esp + 0x84], eax
mov dword [esi + 0x88], ebp
call fcn.00504440
add esp, 0x20
test eax, eax
je 0x4d7204
cmp byte [ebx + 0x220], 0
lea eax, [ebx + 0x220]
jne 0x4d71fa
push ebp
push 0x595f30
push eax
call fcn.00414d90
add esp, 0xc
mov edi, 1
jmp 0x4d7bb7
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4d720e
mov dword [eax], ebp
push 0x8001
push esi
call fcn.004bad00
mov ebp, eax
mov dword [esp + 0x18], ebp
lea eax, [ebp + 0x1001]
push eax
mov dword [esp + 0x4c], eax
lea eax, [esp + 0xb8]
push ebp
push eax
push str._s__s__s
push edi
call fcn.00425a07
add esp, 0x1c
mov dword [esp + 0x44], eax
cmp eax, 3
jne 0x4d7338
push str.FEATURE
lea eax, [esp + 0xb0]
push eax
push esi
call fcn.004c2640
add esp, 0xc
test eax, eax
je 0x4d7272
xor eax, eax
mov word [ebx], ax
jmp 0x4d7338
push str.INCREMENT
lea eax, [esp + 0xb0]
push eax
push esi
call fcn.004c2640
add esp, 0xc
test eax, eax
je 0x4d72a9
push 4
push esi
call fcn.004bb4a0
add esp, 8
cmp eax, 0x54
jne 0x4d72a9
mov eax, 1
mov word [ebx], ax
jmp 0x4d7338
push str.UPGRADE
lea eax, [esp + 0xb0]
push eax
push esi
call fcn.004c2640
add esp, 0xc
test eax, eax
je 0x4d72dd
push 4
push esi
call fcn.004bb4a0
add esp, 8
cmp eax, 0x54
jne 0x4d72dd
mov eax, 2
mov word [ebx], ax
jmp 0x4d7338
push str.PACKAGE
lea eax, [esp + 0xb0]
push eax
push esi
call fcn.004c2640
add esp, 0xc
test eax, eax
je 0x4d7313
push 0x16
push esi
call fcn.004bb4a0
add esp, 8
cmp eax, 0x1204
jne 0x4d7313
mov eax, 4
mov word [ebx], ax
jmp 0x4d7338
push ebp
lea eax, [esp + 0xb0]
push eax
push edi
push esi
call fcn.004d70a0
add esp, 0x10
test eax, eax
jne 0x4d7338
mov eax, 0x270f
mov word [ebx], ax
xor eax, eax
mov dword [esp + 0x14], eax
mov ecx, str.DAEMON
lea eax, [esp + 0xac]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d7364
test dl, dl
je 0x4d7360
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d7364
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d7344
xor eax, eax
jmp 0x4d7369
sbb eax, eax
or eax, 1
test eax, eax
je 0x4d7d27
mov ecx, str.VENDOR
lea eax, [esp + 0xac]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4d73a0
test dl, dl
je 0x4d739c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4d73a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4d7380
xor eax, eax
jmp 0x4d73a5
sbb eax, eax
or eax, 1
test eax, eax
je 0x4d7d27
cmp dword [esp + 0x44], 3
jne 0x4d73de
movzx eax, word [ebx]
test ax, ax
je 0x4d745d
cmp ax, 1
je 0x4d745d
cmp ax, 4
je 0x4d745d
cmp ax, 2
je 0x4d7463
test byte [ebx + 0x29c], 0x40
je 0x4d7bb3
mov eax, dword [ebx + 0x270]
test eax, eax
je 0x4d7436
cmp dword [eax + 0x480], 0
jne 0x4d7436
movzx eax, word [eax + 2]
cmp ax, 0xa
je 0x4d7bb3
cmp ax, 0xe
jl 0x4d741c
cmp ax, 0x11
jle 0x4d7bb3
cmp ax, 0x17
je 0x4d7bb3
cmp ax, 0x32
jl 0x4d7436
cmp ax, 0x64
jle 0x4d7bb3
mov dword [esi + 0x80], 0xffffff87
mov eax, dword [ebx + 0x270]
test eax, eax
je 0x4d7d03
push eax
push esi
call fcn.004cff00
add esp, 8
jmp 0x4d7d08
cmp ax, 2
jne 0x4d748e
mov eax, 7
mov dword [esp + 0x34], 3
mov dword [esp + 0x3c], 4
mov dword [esp + 0x38], 5
mov dword [esp + 0x30], 6
mov dword [esp + 0x54], eax
jmp 0x4d7493
mov eax, 6
imul eax, eax, 0x1001
push 0
push 0x56b6af
mov dword [esp + 0x58], eax
lea edi, [eax + ebp]
push edi
mov dword [esp + 0x24], edi
call fcn.00414d90
movzx eax, word [ebx]
add esp, 0xc
cmp ax, 2
jne 0x4d76c4
push dword [esp + 0x18]
imul edi, dword [esp + 0x34], 0x1001
imul ecx, dword [esp + 0x3c], 0x1001
imul edx, dword [esp + 0x40], 0x1001
imul eax, dword [esp + 0x38], 0x1001
add edi, ebp
push edi
add ecx, ebp
mov dword [esp + 0x60], edi
push ecx
add edx, ebp
mov dword [esp + 0x30], ecx
push edx
add eax, ebp
mov dword [esp + 0x3c], edx
push eax
add ebp, 0x2002
mov dword [esp + 0x34], eax
push ebp
push dword [esp + 0x58]
lea eax, [esp + 0xc8]
push dword [esp + 0x2c]
push eax
push str._s__s__s__s__s__s__s__s____n__n
push dword [esp + 0x44]
call fcn.00425a07
add esp, 0x2c
mov dword [esp + 0x44], eax
cmp eax, 2
jle 0x4d755e
push ebp
call fcn.004d8150
add esp, 4
push 0
test eax, eax
je 0x4d765a
push 0xa
lea eax, [ebx + 0x274]
push ebp
push eax
call fcn.00415110
add esp, 0x10
mov byte [ebx + 0x27e], 0
push 6
push edi
push str.start:
push esi
call fcn.004c27b0
add esp, 0x10
test eax, eax
jne 0x4d759a
xor edi, edi
mov eax, dword [esp + 0x58]
mov al, byte [edi + eax]
test al, al
je 0x4d759a
movsx eax, al
push eax
call fcn.004e1bc0
add esp, 4
test eax, eax
je 0x4d7684
inc edi
cmp edi, 0x14
jl 0x4d7575
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
dec eax
cmp eax, dword [esp + 0x54]
jl 0x4d73de
imul edi, dword [esp + 0x38], 0x1001
imul eax, dword [esp + 0x34], 0x1001
mov dword [ebx + 0x394], 0
add edi, ebp
add ebp, eax
push ebp
call fcn.004d8150
add esp, 4
test eax, eax
je 0x4d7cd7
push 0xa
lea eax, [ebx + 0x215]
push ebp
push eax
call fcn.004d1530
mov ebp, dword [esp + 0x1c]
push 0
push ebp
call fcn.00414ee0
add esp, 0x14
push 0
cmp eax, 0x1e
jg 0x4d7cb1
lea eax, [ebx + 2]
push ebp
push eax
call fcn.00414d90
push 0
push 0xa
lea ecx, [ebp + 0x1001]
lea eax, [ebx + 0x220]
push ecx
push eax
call fcn.00415110
imul eax, dword [esp + 0x58], 0x1001
push str.permanent
mov byte [ebx + 0x22a], 0
add ebp, eax
push ebp
push esi
call fcn.004c2640
add esp, 0x28
push 0
test eax, eax
je 0x4d77da
push str.1_jan_0
jmp 0x4d77ef
push 0xff
push ebp
push 0
push 3
push 0xffffffffffffffb3
push esi
mov dword [esi + 0x80], 0xffffffb3
call fcn.004bbb10
mov ebp, dword [esp + 0x2c]
add esp, 0x1c
xor edi, edi
jmp 0x4d7bb7
push dword [esp + 0x18]
lea eax, [esp + 0xb0]
mov dword [esp + 0x4c], 1
push dword [esp + 0x28]
push dword [esp + 0x34]
push dword [esp + 0x2c]
push ebp
push dword [esp + 0x54]
mov ebp, dword [esp + 0x28]
push ebp
push eax
push str._s__s__s__s__s__s__s____n__n
push dword [esp + 0x40]
call fcn.00425a07
add esp, 0x28
jmp 0x4d759e
cmp ax, 4
jne 0x4d76f5
push dword [esp + 0x28]
push ebp
push ebx
push dword [esp + 0x28]
push esi
call fcn.004fff50
add esp, 0x14
test eax, eax
je 0x4d76e8
xor edi, edi
jmp 0x4d7bb7
mov dword [esp + 0x14], 1
jmp 0x4d759e
imul eax, dword [esp + 0x30], 0x1001
imul ecx, dword [esp + 0x38], 0x1001
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
push edi
add ebp, eax
imul eax, dword [esp + 0x40], 0x1001
add ecx, edx
push ebp
push ecx
mov dword [esp + 0x2c], ecx
add edx, eax
imul eax, dword [esp + 0x40], 0x1001
push edx
mov dword [esp + 0x3c], edx
add eax, dword [esp + 0x20]
push eax
push dword [esp + 0x54]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0xc4]
push dword [esp + 0x28]
push eax
push str._s__s__s__s__s__s__s____n__n
push dword [esp + 0x40]
call fcn.00425a07
push 6
push ebp
push str.start:
push esi
mov dword [esp + 0x7c], eax
call fcn.004c27b0
add esp, 0x38
test eax, eax
jne 0x4d759a
xor edi, edi
mov al, byte [edi + ebp]
test al, al
je 0x4d759a
movsx eax, al
push eax
call fcn.004e1bc0
add esp, 4
test eax, eax
je 0x4d779b
inc edi
cmp edi, 0x14
jl 0x4d7775
jmp 0x4d759a
push dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
lea eax, [esp + 0xb0]
push dword [esp + 0x24]
mov dword [esp + 0x50], 1
push dword [esp + 0x34]
push dword [esp + 0x30]
push dword [esp + 0x50]
push ebp
push eax
push str._s__s__s__s__s__s____n__n
push dword [esp + 0x3c]
call fcn.00425a07
add esp, 0x24
jmp 0x4d759e
push ebp
call fcn.00414ee0
add esp, 8
push 0
cmp eax, 0xb
jg 0x4d7c87
push ebp
lea eax, [ebx + 0x22b]
push eax
call fcn.00414d90
add esp, 0xc
push 0
push str.COUNT
call fcn.00414ee0
push eax
push str.COUNT
push edi
push esi
call fcn.004c27b0
add esp, 0x18
test eax, eax
je 0x4d786d
push 0
push str.COUNT
call fcn.00414ee0
add edi, eax
add esp, 8
mov al, byte [edi]
test al, al
je 0x4d784d
movsx eax, al
push eax
call fcn.004e1b90
add esp, 4
test eax, eax
je 0x4d784d
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d7835
mov al, byte [edi + 1]
inc edi
test al, al
je 0x4d786d
movsx eax, al
push eax
call fcn.004e1b90
add esp, 4
test eax, eax
je 0x4d786d
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d7855
push str.uncounted
push edi
push esi
call fcn.004c2640
add esp, 0xc
test eax, eax
je 0x4d788c
mov dword [ebx + 0x244], 0
jmp 0x4d78c9
movsx eax, byte [edi]
push eax
call fcn.004e1b40
add esp, 4
test eax, eax
je 0x4d7c76
push 0xa
push 0
push edi
call fcn.0044e675
mov ecx, 0x7fffffff
add esp, 0xc
cmp eax, ecx
cmova eax, ecx
mov dword [ebx + 0x244], eax
mov dword [ebx + 0x380], eax
mov dword [ebx + 0x37c], eax
cmp dword [esp + 0x48], 0
mov edi, dword [esp + 0x10]
jne 0x4d78f7
imul eax, dword [esp + 0x30], 0x1001
or dword [ebx + 0x280], 4
push 0x14
add eax, edi
push eax
lea eax, [ebx + 0x248]
push eax
call fcn.004d1530
add esp, 0xc
mov eax, dword [esi + 0x1b0]
test eax, eax
je 0x4d7924
mov eax, dword [eax + 0x1cb8]
test eax, eax
je 0x4d7924
cmp word [eax + 0x570], 0
jne 0x4d7924
lea eax, [ebx + 0x248]
push eax
call fcn.004e3d40
add esp, 4
mov ebp, dword [esp + 0x18]
push 0
push ebp
call fcn.00414ee0
add eax, dword [esp + 0x58]
add esp, 8
cmp byte [eax + edi], 0xa
jne 0x4d7941
mov byte [eax + edi], 0
cmp byte [ebp], 0x22
jne 0x4d7a23
push 0
lea eax, [ebp + 1]
push 0x22
push eax
call fcn.00414c30
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4d79ba
mov ebp, edi
sub ebp, dword [esp + 0x50]
sub ebp, dword [esp + 0x10]
dec ebp
test ebp, ebp
jle 0x4d799c
lea eax, [ebp + 1]
push eax
push esi
call fcn.004bad00
mov ecx, dword [esp + 0x20]
push 0
push ebp
inc ecx
mov dword [ebx + 0x26c], eax
push ecx
push eax
call fcn.00415110
mov eax, dword [ebx + 0x26c]
add esp, 0x18
mov byte [eax + ebp], 0
mov al, byte [edi]
test al, al
je 0x4d79ba
movsx eax, al
push eax
call fcn.004e1b90
add esp, 4
test eax, eax
jne 0x4d79d2
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d79a2
mov ebp, dword [esp + 0x10]
mov edi, 1
mov dword [ebx + 0x270], 0
jmp 0x4d7bb7
mov al, byte [edi]
test al, al
je 0x4d79ba
jmp 0x4d79e0
movsx eax, al
push eax
call fcn.004e1b90
add esp, 4
test eax, eax
je 0x4d79fa
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4d79e0
jmp 0x4d79ba
cmp byte [edi], 0
je 0x4d79ba
push edi
lea eax, [ebx + 0x270]
push eax
push esi
call fcn.004d25f0
add esp, 0xc
test eax, eax
je 0x4d7c68
mov ebp, dword [esp + 0x10]
xor edi, edi
jmp 0x4d7bb7
mov eax, dword [esi + 0x1b0]
test eax, eax
je 0x4d7a50
test byte [esi + 0x144], 0x24
je 0x4d7a50
mov eax, dword [eax + 0x1cb8]
mov dword [esp + 0x4c], eax
lea eax, [ebx + 0x220]
push eax
push esi
call fcn.004e0db0
add esp, 8
push ebx
push ebp
push esi
call fcn.00502120
add esp, 0xc
mov edi, eax
test dword [esi + 0x144], 0x40000
je 0x4d7ad0
mov ecx, dword [ebx + 0x270]
test ecx, ecx
je 0x4d7ad0
mov edx, 0x12d
mov dword [esp + 0x20], 0x3e7
mov dword [esp + 0x2c], 0x1f6
mov dword [esp + 0x24], 0x208
lea ebp, [edx + 0x31]
movzx eax, word [ecx + 2]
cmp ax, 0x51
jl 0x4d7ac6
cmp ax, word [esp + 0x20]
jg 0x4d7ac6
cmp ax, dx
jl 0x4d7aae
cmp ax, bp
jle 0x4d7ac6
cmp ax, word [esp + 0x2c]
jl 0x4d7abc
cmp ax, word [esp + 0x24]
jle 0x4d7ac6
cmp ax, dx
jl 0x4d7b09
cmp ax, bp
jg 0x4d7b09
mov ecx, dword [ecx + 0x480]
test ecx, ecx
jne 0x4d7a93
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4d7ae7
add eax, 0x4fc
push eax
push esi
call fcn.004e0db0
add esp, 8
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x4d7c45
test edi, edi
je 0x4d7c4c
push edi
call fcn.004bace0
add esp, 4
jmp 0x4d7c4c
movzx eax, word [ecx + 2]
mov ecx, 0x1f5
cmp ax, cx
jne 0x4d7b3b
push 0
push 0xff
push 0x56d12c
push 0
push 0x5228
mov dword [esi + 0x80], 0xffffff3a
push 0xffffff3a
jmp 0x4d7b8f
mov ecx, 0xc9
cmp ax, cx
jl 0x4d7b73
mov ecx, 0xfa
cmp ax, cx
jg 0x4d7b73
push 0
push 0xff
push str.LMB_HOSTID
push 0
push 0x5229
mov dword [esi + 0x80], 0xffffff3a
push 0xffffff3a
jmp 0x4d7b8f
push 0
push 0xff
push 0
push 0
push 0x5220
mov dword [esi + 0x80], 0xffffffa6
push 0xffffffffffffffa6
push esi
call fcn.004bbb10
mov eax, dword [esp + 0x44]
add esp, 0x1c
test eax, eax
je 0x4d7c2f
cmp dword [eax], 0
jne 0x4d7c2f
mov dword [eax], edi
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp dword [esi + 0x80], 0
jne 0x4d7bde
mov eax, dword [esp + 0x5c]
mov dword [esi + 0x80], eax
mov eax, dword [esp + 0x60]
mov dword [esi + 0x84], eax
mov eax, dword [esp + 0x64]
mov dword [esi + 0x88], eax
test edi, edi
je 0x4d7c07
cmp word [ebx], 2
jne 0x4d7bfd
push ebx
push esi
call fcn.004d80a0
add esp, 8
test eax, eax
jne 0x4d7bfd
mov byte [ebx + 0x338], 0xff
push ebx
push esi
call fcn.004d8ad0
add esp, 8
test ebp, ebp
je 0x4d7c14
push ebp
call fcn.004bace0
add esp, 4
mov ecx, dword [esp + 0x10b0]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00424604
add esp, 0x10a4
ret
test edi, edi
je 0x4d7baf
push edi
call fcn.004bace0
add esp, 4
jmp 0x4d7baf
cmp dword [eax], 0
jne 0x4d7c4c
mov dword [eax], edi
cmp dword [esi + 0x80], 0
je 0x4d7c68
mov eax, dword [esi + 0x1b0]
test eax, eax
je 0x4d7c68
test byte [eax + 0x1cc0], 4
je 0x4d7ca6
mov ebp, dword [esp + 0x10]
mov edi, 1
jmp 0x4d7bb7
push 0
push 0xff
push edi
push 0
push 0x1a4
jmp 0x4d7c91
push 0xff
push ebp
push 0
push 6
push 0xfffffffffffffffe
push esi
mov dword [esi + 0x80], 0xfffffffe
call fcn.004bbb10
add esp, 0x1c
mov ebp, dword [esp + 0x10]
xor edi, edi
jmp 0x4d7bb7
push 0xff
push ebp
push 0
push 5
push 0xfffffffffffffffe
push esi
mov dword [esi + 0x80], 0xfffffffe
call fcn.004bbb10
add esp, 0x1c
xor edi, edi
jmp 0x4d7bb7
push 0
push 0xff
push ebp
push 0
push 4
push 0xffffffffffffffb3
push esi
mov dword [esi + 0x80], 0xffffffb3
call fcn.004bbb10
mov ebp, dword [esp + 0x2c]
add esp, 0x1c
xor edi, edi
jmp 0x4d7bb7
mov eax, 0x571b30
push 0
push 0xff
push eax
push 0
push 0x23d
push 0xffffffffffffff87
push esi
call fcn.004bbb10
add esp, 0x1c
jmp 0x4d7bb3
test byte [esi + 0x144], 0x10
je 0x4d767d
push ebp
lea eax, [esp + 0xb0]
push eax
push edi
push esi
call fcn.004d70a0
mov eax, dword [esi + 0xd0]
push 0xb
add eax, 0x1c
push 0x595f30
push eax
call fcn.004cfc90
add esp, 0x1c
xor edi, edi
jmp 0x4d7bb7