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

Disassembly:
sub esp, 0xe94
mov dl, byte [0x10064414]
push ebx
push ebp
push esi
push edi
mov ecx, 7
xor eax, eax
lea edi, [esp + 0xe9]
mov byte [esp + 0xe8], dl
mov byte [esp + 0x114], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x115]
mov esi, dword [esp + 0xea8]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x21], eax
mov dword [esp + 0x15], ecx
mov dword [esp + 0x25], eax
mov dword [esp + 0x19], ecx
mov word [esp + 0x29], ax
mov word [esp + 0x1d], cx
test esi, esi
mov byte [esp + 0x20], dl
mov byte [esp + 0x2b], al
mov byte [esp + 0x14], dl
mov byte [esp + 0x1f], cl
je 0x10015231
mov edx, dword [0x10071a48]
mov eax, dword [esi + 0x54]
push edx
push eax
call fcn.10012130
mov ebp, eax
add esp, 8
test ebp, ebp
mov dword [esp + 0x10], ebp
jne 0x100151fb
pop edi
pop esi
pop ebp
mov ax, 2
pop ebx
add esp, 0xe94
ret 0x18
mov eax, dword [esp + 0xeb8]
test eax, eax
je 0x10015231
mov eax, dword [esp + 0xebc]
cmp eax, 0x110
je 0x1001521b
cmp eax, 0x118
jne 0x10015231
mov ebx, dword [esp + 0xeac]
test ebx, ebx
je 0x10015242
mov ecx, dword [esp + 0xeb0]
test ecx, ecx
ja 0x10015263
mov ax, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe94
ret 0x18
mov cx, word [ebp + 0x44]
test cx, cx
je 0x10015252
cmp cx, 0xffff
jne 0x10015263
pop edi
pop esi
pop ebp
mov ax, 0x47
pop ebx
add esp, 0xe94
ret 0x18
sub eax, 0x118
mov ecx, 0x10
neg eax
sbb eax, eax
lea edi, [esp + 0x134]
and al, 0xf6
push 0x40
add eax, 0x2c6
mov dword [esp + 0x4c], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, 0x46
lea edi, [esp + 0x178]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x138]
push eax
push esi
call fcn.10009f00
test ax, ax
jne 0x10015235
cmp ebx, 0xffffffff
jne 0x100152c1
mov dword [esp + 0xeac], 0xffff
mov ebx, dword [esp + 0xeac]
xor ecx, ecx
xor edx, edx
xor eax, eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], ecx
test ebx, ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x54], eax
jne 0x10015326
movsx ecx, word [ebp + 0x70]
lea eax, [esp + 0x38]
mov edx, dword [ebp + ecx*4 + 0x48]
mov ebp, dword [sym.imp.MSVCR100.dll_sprintf]
push edx
push 0x1005f734
push eax
call ebp
mov edx, dword [esp + 0x1c]
xor ecx, ecx
lea eax, [esp + 0x38]
mov cx, word [edx + 0x44]
push ecx
push 0x1005f734
push eax
call ebp
add esp, 0x18
jmp 0x10015347
mov ebp, dword [sym.imp.MSVCR100.dll_sprintf]
lea ecx, [esp + 0x38]
push 0x1005f7a4
push ecx
call ebp
lea edx, [esp + 0x34]
push 0x1005f7a4
push edx
call ebp
add esp, 0x10
lea edi, [esp + 0x134]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x174]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebx
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x1005f734
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov byte [esp + 0xac4], 0
and ecx, 3
mov byte [esp + 0x60], 0
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x60]
mov byte [esp + 0x78], 0
push ecx
call ebp
mov edx, dword [esp + 0xebc]
lea eax, [esp + 0x7c]
push edx
push 0x1005f734
push eax
call ebp
mov ecx, dword [esp + 0xecc]
lea edx, [esp + 0x64]
push ecx
push 0x1005f734
push edx
call ebp
lea eax, [esp + 0x70]
lea ecx, [esp + 0x94]
push eax
lea edx, [esp + 0x80]
push ecx
lea eax, [esp + 0x58]
push edx
lea ecx, [esp + 0x68]
push eax
push ecx
push 5
push 0x1005f72c
call fcn.10019ee0
add esp, 0x40
lea edx, [esp + 0xabc]
mov ebx, eax
push edx
push ebx
push str.keyInfoEx
push 3
push 0x1005f61c
call fcn.10019ee0
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x10015428
mov eax, dword [esp + 0x10]
push eax
push 0x4a
call fcn.1000a580
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe94
ret 0x18
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x6d4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov ebx, dword [sym.imp.MSVCR100.dll_free]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call ebx
push ebp
call ebx
lea ecx, [esp + 0x6dc]
push ecx
call fcn.10019fc0
mov edx, eax
add esp, 0xc
test edx, edx
jne 0x1001548c
mov edx, dword [esp + 0x10]
push edx
push 0x4a
call fcn.1000a580
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe94
ret 0x18
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
lea ebp, [esp + 0x6d4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push edx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call ebx
mov ebp, dword [esp + 0x14]
lea ecx, [esp + 0x2f0]
push ecx
lea edx, [esp + 0x6dc]
push ebp
push edx
mov byte [esp + 0x2fc], 0
call fcn.10017cc0
add esp, 0x10
test ax, ax
je 0x100154f6
push ebp
push eax
call fcn.1000a4a0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe94
ret 0x18
lea eax, [esp + 0x2ec]
push eax
call fcn.10019cc0
mov esi, eax
add esp, 4
test esi, esi
jne 0x10015524
push ebp
push 0x42
call fcn.1000a580
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe94
ret 0x18
lea ecx, [esp + 0x2ec]
lea edx, [esp + 0x28c]
push ecx
lea eax, [esp + 0x2b0]
push edx
push eax
push esi
push 3
push 0x1005f61c
call fcn.10019b20
push esi
mov edi, eax
call ebx
add esp, 0x1c
test di, di
je 0x1001556e
push ebp
push 0x42
call fcn.1000a580
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe94
ret 0x18
mov byte [esp + 0x2cb], 0
mov byte [esp + 0x2ab], 0
mov esi, str.error
lea eax, [esp + 0x2ac]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x100155b2
test cl, cl
je 0x100155ae
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x100155b2
add eax, 2
add esi, 2
test cl, cl
jne 0x1001558a
xor eax, eax
jmp 0x100155b7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100155e0
lea eax, [esp + 0x28c]
push eax
call dword [sym.imp.MSVCR100.dll_atoi]
push ebp
push eax
call fcn.1000a580
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe94
ret 0x18
lea ecx, [esp + 0x108]
lea edx, [esp + 0xc4]
push ecx
lea eax, [esp + 0xe0]
push edx
lea ecx, [esp + 0xb4]
push eax
lea edx, [esp + 0xa0]
push ecx
lea eax, [esp + 0x74]
push edx
lea ecx, [esp + 0xe4]
push eax
lea edx, [esp + 0xb8]
push ecx
lea eax, [esp + 0xd4]
push edx
lea ecx, [esp + 0x9c]
push eax
lea edx, [esp + 0xac]
push ecx
lea eax, [esp + 0x80]
push edx
lea ecx, [esp + 0x40]
push eax
lea edx, [esp + 0x50]
push ecx
lea eax, [esp + 0x148]
push edx
lea ecx, [esp + 0x120]
push eax
lea edx, [esp + 0x328]
push ecx
push edx
push 0x10
push 0x1005f72c
call fcn.10019b20
add esp, 0x4c
test eax, eax
je 0x1001568a
push ebp
push 0x42
call fcn.1000a580
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe94
ret 0x18
mov byte [esp + 0xdb], 0
mov byte [esp + 0x6f], 0
mov byte [esp + 0x9f], 0
mov byte [esp + 0xb7], 0
mov byte [esp + 0x93], 0
mov byte [esp + 0x87], 0
mov byte [esp + 0xc3], 0
mov byte [esp + 0xab], 0
mov byte [esp + 0xe7], 0
mov byte [esp + 0xcf], 0
mov byte [esp + 0x113], 0
cmp word [ebp + 0x8c], 1
jne 0x10015793
mov esi, dword [sym.imp.MSVCR100.dll__stricmp]
lea eax, [esp + 0x134]
push str.127.0.0.1
push eax
call esi
add esp, 8
test eax, eax
je 0x10015793
lea ecx, [esp + 0x134]
push str.RNBO_SPN_LOCAL
push ecx
call esi
add esp, 8
test eax, eax
je 0x10015793
lea edx, [esp + 0x134]
push edx
call fcn.100061c0
add esp, 4
test eax, eax
je 0x10015793
lea eax, [esp + 0xe8]
push str.127.0.0.1
push eax
call esi
add esp, 8
test eax, eax
jne 0x10015793
lea ecx, [esp + 0x2cc]
push eax
lea edx, [esp + 0x138]
push ecx
push edx
call fcn.10006480
add esp, 0xc
test eax, eax
jne 0x10015793
lea edi, [esp + 0x2cc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xe8]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xe8]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x1b4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x1f4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x114]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x214]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x20]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.MSVCR100.dll_atoi]
lea ecx, [esp + 0x14]
push ecx
call esi
lea edx, [esp + 0x5c]
mov dword [esp + 0x258], eax
push edx
call esi
mov ebp, eax
lea eax, [esp + 0x90]
push eax
mov dword [esp + 0x268], ebp
call esi
lea ecx, [esp + 0x88]
mov dword [esp + 0x26c], eax
push ecx
call esi
lea edx, [esp + 0xc8]
mov edi, eax
push edx
call esi
mov ebx, eax
lea eax, [esp + 0xb4]
push eax
call esi
lea ecx, [esp + 0xe8]
mov dword [esp + 0x5c], eax
push ecx
call esi
lea edx, [esp + 0x80]
mov dword [esp + 0x284], eax
push edx
call esi
mov dword [esp + 0x28c], eax
lea eax, [esp + 0xb4]
push eax
call esi
lea ecx, [esp + 0xd0]
mov dword [esp + 0x294], eax
push ecx
call esi
lea edx, [esp + 0xec]
mov dword [esp + 0x29c], eax
push edx
call esi
mov dword [esp + 0x2a8], eax
lea eax, [esp + 0x108]
push eax
call esi
mov dword [esp + 0x2a8], eax
mov al, 0xff
mov byte [esp + 0x2b0], al
mov byte [esp + 0x2b1], al
mov byte [esp + 0x2b2], al
add esp, 0x30
xor ecx, ecx
xor eax, eax
cmp edi, 5
mov byte [esp + 0x283], 0
mov dword [esp + 0x264], eax
je 0x10015909
cmp edi, 7
jne 0x1001593b
mov eax, 8
test bh, 0x40
mov dword [esp + 0x264], eax
je 0x10015926
mov eax, 0xd
mov dword [esp + 0x264], eax
test bh, 0x20
je 0x1001593b
test byte [esp + 0x44], 0x10
je 0x1001593b
or al, 2
mov dword [esp + 0x264], eax
mov edx, dword [esp + 0xeac]
cmp edx, ecx
mov edx, dword [esp + 0x10]
jne 0x1001595c
mov dword [edx + 0x1cc], edi
mov dword [edx + 0x1d4], ebx
mov dword [edx + 0x1d0], eax
cmp dword [esp + 0x48], 0x2c6
jl 0x10015996
mov word [esp + 0x284], cx
mov byte [esp + 0x286], 0
mov byte [esp + 0x287], 0
mov word [esp + 0x288], cx
mov byte [esp + 0x28a], 0
mov byte [esp + 0x28b], 0
mov ecx, dword [esp + 0xebc]
mov edi, dword [esp + 0xeb8]
mov eax, ecx
lea esi, [esp + 0x174]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push edx
and ecx, 3
test ebp, ebp
rep movsb byte es:[edi], byte [esi]
jne 0x100159d5
push 3
call fcn.1000a580
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe94
ret 0x18
push 0
call fcn.1000a580
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe94
ret 0x18