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

Disassembly:
sub esp, 0x1b4
mov eax, dword [0x4a4080]
xor eax, esp
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x1b8]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x1cc]
mov ebp, 0x49c01c
mov dword [esp + 0x50], 0
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x28], ecx
mov ebx, dword [ecx + eax*4 + 0x128]
mov eax, dword [edi + 0x5e8]
test eax, eax
mov dword [esp + 0x54], 0
cmovne ebp, eax
mov esi, ebp
mov dword [esp + 0x58], ebp
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x484640
push 0x2f
push ebp
sub esi, ecx
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
je 0x484686
push ebp
call dword [0x4a4028]
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x4846e4
mov eax, 0x1b
mov ecx, dword [esp + 0x1c0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00486b00
add esp, 0x1b4
ret
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x7c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x484690
sub ecx, edx
lea eax, [ecx + 2]
add eax, esi
push eax
call dword [0x4a401c]
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x484668
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 0x7c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x28], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4846c0
sub ecx, dword [esp + 0x28]
push edx
push dword [esp + 0x5c]
lea eax, [ecx + 2]
push 0x499c10
add eax, esi
push eax
push ebp
call fcn.0043a470
add esp, 0x14
lea eax, [esp + 0x40]
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x9c]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x78], 0
push eax
mov eax, dword [0x4a4be8]
push 0
push 0
push 0
push 0
push 2
push 0x49c024
mov dword [esp + 0x64], 2
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x8c], 1
mov dword [esp + 0x88], 0
mov dword [esp + 0x50], 2
mov dword [esp + 0x4c], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x80], 3
mov dword [esp + 0x7c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov eax, dword [eax + 0xc]
push 0
call eax
push 0x49c030
push eax
push edi
call fcn.004852c0
add esp, 0xc
test eax, eax
je 0x4847e1
push 0x49c04c
push edi
call fcn.0044b720
push ebp
call dword [0x4a4020]
add esp, 0xc
lea eax, [esp + 0x38]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x10]
call eax
mov eax, 7
jmp 0x48466d
push 0
push ebx
call fcn.00475d70
push ebp
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
add esp, 0xc
mov dword [esp + 0x28], eax
test eax, eax
je 0x484668
nop
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x70]
push ecx
lea ecx, [esp + 0x24]
push ecx
push 0
lea ecx, [esp + 0x88]
push ecx
push 0x10
push 0
push 0x116
push eax
push dword [esp + 0x78]
lea eax, [esp + 0x64]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x18]
call eax
push dword [esp + 0x28]
mov esi, eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, dword [esp + 0x4c]
add esp, 4
test ecx, ecx
je 0x48486b
push ecx
mov ecx, dword [0x4a4be8]
mov eax, dword [ecx + 0x40]
call eax
xor ecx, ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x40], ecx
test esi, esi
je 0x48488b
cmp esi, 0x90314
je 0x48488b
cmp esi, 0x90313
je 0x48488b
cmp esi, 0x90312
jne 0x4849ff
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x484900
push eax
mov word [esp + 0x14], 0x101
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x12], ax
lea eax, [esp + 0x20]
push eax
push 4
lea eax, [esp + 0x18]
push eax
push ebx
push edi
call fcn.0044be00
add esp, 0x14
test eax, eax
jne 0x484ad9
cmp dword [esp + 0x20], 4
jne 0x484ad9
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x30]
push dword [esp + 0x3c]
push ebx
push edi
call fcn.0044be00
add esp, 0x14
test eax, eax
jne 0x484a76
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x20]
jne 0x484a76
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x48491f
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x34], 0
mov dword [esp + 0x2c], 0
test ecx, ecx
je 0x48493e
mov eax, dword [0x4a4be8]
push ecx
mov eax, dword [eax + 0x40]
call eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x40], 0
cmp esi, 0x90312
jne 0x484bd0
lea eax, [esp + 0x24]
push eax
push 4
lea eax, [esp + 0x18]
push eax
push ebx
push edi
call fcn.0047be70
add esp, 0x14
test eax, eax
jne 0x484bb6
cmp dword [esp + 0x24], 4
jne 0x484bb6
mov al, byte [esp + 0x11]
cmp al, 0xff
je 0x484b91
cmp al, 1
jne 0x484b80
push dword [esp + 0x12]
call dword [sym.imp.WS2_32.dll_ntohs]
movzx esi, ax
push esi
mov dword [esp + 0x44], esi
call dword [0x4a401c]
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
je 0x484b53
lea ecx, [esp + 0x24]
push ecx
push dword [esp + 0x44]
push eax
push ebx
push edi
call fcn.0047be70
add esp, 0x14
test eax, eax
jne 0x484b3c
cmp dword [esp + 0x24], esi
jne 0x484b3c
lea eax, [esp + 0x18]
push ebp
mov dword [esp + 0x54], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
jne 0x484800
jmp 0x484668
push 0x100
lea eax, [esp + 0xc4]
push eax
push esi
call fcn.00435750
push eax
push 0x49c06c
push 0x49c000
push edi
call fcn.0044b720
push ebp
call dword [0x4a4020]
add esp, 0x20
lea eax, [esp + 0x38]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x10]
call eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x24]
call eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x484a5e
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x40]
call eax
push 0x49c088
push edi
call fcn.0044b720
add esp, 8
mov eax, 7
jmp 0x48466d
push 0x49c0dc
push edi
call fcn.0044b720
push ebp
call dword [0x4a4020]
mov eax, dword [esp + 0x40]
add esp, 0xc
test eax, eax
je 0x484a9e
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x484ab1
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x40]
call eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x10]
call eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x24]
call eax
mov eax, 7
jmp 0x48466d
push 0x49c0b0
push edi
call fcn.0044b720
push ebp
call dword [0x4a4020]
mov eax, dword [esp + 0x40]
add esp, 0xc
test eax, eax
je 0x484b01
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x484b14
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x40]
call eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x10]
call eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x24]
call eax
mov eax, 7
jmp 0x48466d
push 0x49c19c
push edi
call fcn.0044b720
push ebp
call dword [0x4a4020]
add esp, 0xc
jmp 0x484b01
push ebp
call dword [0x4a4020]
add esp, 4
lea eax, [esp + 0x38]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x10]
call eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x24]
call eax
jmp 0x484668
movzx eax, al
push eax
movzx eax, byte [esp + 0x14]
push eax
push 0x49c168
jmp 0x484ba1
movzx eax, byte [esp + 0x10]
push 0xff
push eax
push 0x49c138
push edi
call fcn.0044b720
push ebp
call dword [0x4a4020]
add esp, 0x14
jmp 0x484b14
push 0x49c108
push edi
call fcn.0044b720
push ebp
call dword [0x4a4020]
add esp, 0xc
jmp 0x484b14
push ebp
call dword [0x4a4020]
add esp, 4
lea eax, [esp + 0x4c]
push eax
push 1
lea eax, [esp + 0x40]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [0x4a4be8]
mov esi, eax
lea eax, [esp + 0x38]
push eax
mov ecx, dword [ecx + 0x10]
call ecx
push 0x49c1cc
push esi
push edi
call fcn.004852c0
add esp, 0xc
test eax, eax
je 0x484c4a
lea eax, [esp + 0x18]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x24]
call eax
mov eax, dword [0x4a4be8]
push dword [esp + 0x4c]
mov eax, dword [eax + 0x40]
call eax
push 0x49c1e8
push edi
call fcn.0044b720
add esp, 8
mov eax, 7
jmp 0x48466d
push dword [esp + 0x4c]
push 0x49c208
push edi
call fcn.0044b7f0
mov eax, dword [0x4a4be8]
add esp, 0xc
push dword [esp + 0x4c]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [esp + 0x54]
mov word [esp + 0x10], 0x201
test al, 0x10
je 0x484c7d
mov cl, 2
jmp 0x484c86
test eax, 0x10000
je 0x484c98
mov cl, 1
cmp cl, 1
mov eax, 0x49c240
mov edx, 0x49c24c
cmovne eax, edx
jmp 0x484c9d
mov eax, 0x49c23c
push eax
push 0x49c25c
push edi
call fcn.0044b7f0
add esp, 0xc
cmp byte [edi + 0x6f1], 0
je 0x484cbc
push 1
jmp 0x484f67
lea eax, [esp + 0x8c]
push eax
push 0
lea eax, [esp + 0x20]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x2c]
call eax
push 0x49c290
push eax
push edi
call fcn.004852c0
add esp, 0xc
test eax, eax
jne 0x484e0a
mov eax, dword [esp + 0x98]
push eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 2
call dword [0x4a401c]
add esp, 4
mov dword [esp + 0xa4], eax
test eax, eax
je 0x484b6c
push 1
mov dword [esp + 0xac], 1
call dword [0x4a401c]
add esp, 4
mov dword [esp + 0xb0], eax
test eax, eax
jne 0x484d53
mov eax, dword [0x4a4be8]
push dword [esp + 0xa4]
mov eax, dword [eax + 0x40]
jmp 0x484b6a
mov byte [eax], 0
mov eax, dword [esp + 0x94]
push eax
mov dword [esp + 0xbc], 9
mov dword [esp + 0xb8], eax
call dword [0x4a401c]
add esp, 4
mov dword [esp + 0xbc], eax
test eax, eax
jne 0x484da9
mov eax, dword [0x4a4be8]
push dword [esp + 0xa4]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x4a4be8]
push dword [esp + 0xb0]
mov eax, dword [eax + 0x40]
jmp 0x484b6a
push 0
lea eax, [esp + 0x60]
push eax
push reloc.WS2_32.dll_accept
lea eax, [esp + 0x24]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x64]
call eax
push 0x49c2d8
push eax
push edi
call fcn.004852c0
add esp, 0xc
test eax, eax
je 0x484e31
mov eax, dword [0x4a4be8]
push dword [esp + 0xa4]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x4a4be8]
push dword [esp + 0xb0]
mov eax, dword [eax + 0x40]
call eax
push dword [esp + 0xbc]
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x40]
call eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x24]
call eax
push 0x49c2a8
push edi
call fcn.0044b720
add esp, 8
mov eax, 7
jmp 0x48466d
mov eax, dword [esp + 0xb4]
add eax, dword [esp + 0xa8]
add eax, dword [esp + 0x9c]
push eax
mov dword [esp + 0x30], eax
call dword [0x4a401c]
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
jne 0x484e92
mov eax, dword [0x4a4be8]
push dword [esp + 0xa4]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x4a4be8]
push dword [esp + 0xb0]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x4a4be8]
push dword [esp + 0xbc]
mov eax, dword [eax + 0x40]
jmp 0x484b6a
push dword [esp + 0x9c]
push dword [esp + 0xa8]
push eax
call sub.VCRUNTIME140.dll_memcpy
push dword [esp + 0xb4]
mov eax, dword [esp + 0xac]
push dword [esp + 0xc0]
add eax, dword [esp + 0x48]
push eax
call sub.VCRUNTIME140.dll_memcpy
push dword [esp + 0xcc]
mov eax, dword [esp + 0xc4]
add eax, dword [esp + 0xb8]
push dword [esp + 0xd8]
add eax, dword [esp + 0x54]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [0x4a4be8]
add esp, 0x24
push dword [esp + 0xa4]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x4a4be8]
push dword [esp + 0xb0]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa0], 0
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x4a4be8]
push dword [esp + 0xbc]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xac], 0
mov eax, dword [eax + 0x40]
call eax
push dword [esp + 0x2c]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xb8], 0
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x12], ax
lea eax, [esp + 0x20]
push eax
push 4
lea eax, [esp + 0x18]
push eax
push ebx
push edi
call fcn.0044be00
add esp, 0x14
test eax, eax
jne 0x485298
cmp dword [esp + 0x20], 4
jne 0x485298
cmp byte [edi + 0x6f1], 0
lea eax, [esp + 0x20]
push eax
je 0x484fdd
push 1
lea eax, [esp + 0x18]
mov byte [esp + 0x18], 0
push eax
push ebx
push edi
call fcn.0044be00
add esp, 0x14
test eax, eax
jne 0x484fca
cmp dword [esp + 0x20], 1
je 0x485018
push 0x49c310
push edi
call fcn.0044b720
add esp, 8
jmp 0x484b23
push dword [esp + 0x30]
push dword [esp + 0x3c]
push ebx
push edi
call fcn.0044be00
add esp, 0x14
test eax, eax
jne 0x485291
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x20]
jne 0x485291
mov eax, dword [esp + 0x34]
test eax, eax
je 0x485018
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x40]
call eax
lea eax, [esp + 0x24]
push eax
push 4
lea eax, [esp + 0x18]
push eax
push ebx
push edi
call fcn.0047be70
add esp, 0x14
test eax, eax
jne 0x48527e
cmp dword [esp + 0x24], 4
jne 0x48527e
mov al, byte [esp + 0x11]
cmp al, 0xff
jne 0x485067
movzx eax, byte [esp + 0x10]
push 0xff
push eax
push 0x49c138
push edi
call fcn.0044b720
add esp, 0x10
jmp 0x484b23
cmp al, 2
je 0x485088
movzx eax, al
push eax
movzx eax, byte [esp + 0x14]
push eax
push 0x49c364
push edi
call fcn.0044b720
add esp, 0x10
jmp 0x484b23
push dword [esp + 0x12]
call dword [sym.imp.WS2_32.dll_ntohs]
movzx esi, ax
push esi
mov dword [esp + 0xa0], esi
call dword [0x4a401c]
add esp, 4
mov dword [esp + 0xa4], eax
test eax, eax
je 0x484b6c
lea ecx, [esp + 0x24]
push ecx
push dword [esp + 0xa0]
push eax
push ebx
push edi
call fcn.0047be70
add esp, 0x14
test eax, eax
jne 0x48525c
cmp dword [esp + 0x24], esi
jne 0x48525c
cmp byte [edi + 0x6f1], al
jne 0x4851d6
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x80]
push eax
push 0
lea eax, [esp + 0x64]
mov dword [esp + 0x68], 2
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0xac], 0xa
push eax
mov eax, dword [0x4a4be8]
mov dword [esp + 0xbc], 1
mov eax, dword [eax + 0x68]
call eax
push 0x49c3bc
push eax
push edi
call fcn.004852c0
add esp, 0xc
test eax, eax
je 0x485172
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x48515d
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x484e0a
push eax
jmp 0x484e00
mov eax, dword [esp + 0xa8]
cmp eax, 1
je 0x4851af
push eax
push 0x49c3cc
push edi
call fcn.0044b720
mov eax, dword [esp + 0xb0]
add esp, 0xc
test eax, eax
je 0x4851a3
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [esp + 0xb0]
jmp 0x4852aa
mov eax, dword [esp + 0xb0]
push dword [esp + 0xa4]
mov al, byte [eax]
mov byte [esp + 0x14], al
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x40]
call eax
push dword [esp + 0xb0]
jmp 0x485213
mov eax, dword [esp + 0x9c]
cmp eax, 1
je 0x485205
push eax
push 0x49c3cc
push edi
call fcn.0044b720
mov eax, dword [0x4a4be8]
add esp, 0xc
push dword [esp + 0xa4]
mov eax, dword [eax + 0x40]
jmp 0x484b21
mov ecx, dword [esp + 0xa4]
push ecx
mov al, byte [ecx]
mov byte [esp + 0x14], al
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x40]
call eax
push 1
push ebx
call fcn.00475d70
mov al, byte [esp + 0x18]
add esp, 8
test al, al
jne 0x485237
mov ecx, 0x49c3fc
jmp 0x485246
cmp al, 1
mov ecx, 0x49c410
mov edx, 0x49c424
cmovne ecx, edx
push ecx
push 0x49c440
push edi
call fcn.0044b7f0
add esp, 0xc
xor eax, eax
jmp 0x48466d
push 0x49c394
push edi
call fcn.0044b720
mov eax, dword [0x4a4be8]
add esp, 8
push dword [esp + 0xa4]
mov eax, dword [eax + 0x40]
jmp 0x484b21
push 0x49c338
push edi
call fcn.0044b720
add esp, 8
jmp 0x484b23
push 0x49c310
jmp 0x48529d
push 0x49c2e8
push edi
call fcn.0044b720
mov eax, dword [esp + 0x3c]
add esp, 8
test eax, eax
je 0x484b23
push eax
mov eax, dword [0x4a4be8]
mov eax, dword [eax + 0x40]
jmp 0x484b21