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

Disassembly:
sub esp, 0x49c
mov eax, dword [esp + 0x4ac]
mov ecx, dword [esp + 0x4a4]
mov edx, dword [esp + 0x4b0]
push ebx
push ebp
mov ebp, dword [esp + 0x4cc]
push esi
mov esi, dword [esp + 0x4b4]
push edi
xor edi, edi
test byte [esi], 0x80
mov dword [eax], edi
movzx eax, word [ecx + 0x458]
mov ebx, 1
mov dword [esp + 0x74], edi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x4c], edi
mov dword [edx], edi
mov dword [esp + 0x58], eax
jne 0x48b113
mov edx, dword [ecx + 0x30]
and dl, 0x7f
cmp dl, 0x20
je 0x48b113
mov eax, dword [esp + 0x4b0]
mov edx, dword [eax + 0xc8]
and edx, 0x400000
mov dword [esp + 0x88], edx
mov eax, edi
je 0x48b111
cmp eax, edi
je 0x48b113
xor ebx, ebx
xor eax, eax
cmp dword [esp + 0x4c4], edi
mov dword [esp + 0x48], edi
setne al
mov dword [esp + 0x28], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x40], eax
cmp dword [esi + 0x1a4], edi
je 0x48b14e
movzx edx, word [ecx + 0x494]
cmp dword [esi + 0x338], edx
jne 0x48b174
cmp dword [esi + 0x1ac], edi
jne 0x48b174
cmp dword [esi + 0x1bc], edi
jne 0x48b174
mov eax, ecx
push eax
call fcn.0047c770
add esp, 4
test eax, eax
je 0x48b1b8
mov ecx, dword [esp + 0x4b4]
mov edx, dword [esi + 0x314]
cmp edx, edi
jne 0x48b19b
mov eax, dword [esp + 0x4c0]
mov dword [eax], 1
cmp dword [esi + 0x35c], edi
jbe 0x48b19b
mov dword [esp + 0x40], 1
movzx eax, word [ecx + 0x494]
cmp ax, di
je 0x48b1fc
cmp dword [esp + 0x40], edi
je 0x48b1d2
movzx ecx, ax
cmp dword [esi + 0x338], ecx
jne 0x48b1d2
mov edx, dword [esp + 0x4c0]
mov dword [edx], 9
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x49c
ret
mov eax, dword [esi + 0x1a4]
cmp eax, edi
je 0x48b1fc
lea esp, [esp]
mov cl, byte [eax]
cmp cl, 3
je 0x48b1f5
cmp cl, 0x10
je 0x48b1f5
mov eax, dword [eax + 0x48]
cmp eax, edi
jne 0x48b1e0
jmp 0x48b1fc
mov eax, dword [eax + 0x44]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 0x35c]
mov ecx, dword [esi + 0x364]
add eax, edx
xor edx, edx
div ecx
mov edx, dword [esp + 0x4b4]
mov dword [esp + 0x7c], eax
mov eax, dword [edx]
cmp eax, edi
je 0x48b22f
mov eax, dword [eax + 0x140]
xor edx, edx
div ecx
mov dword [esp + 0x78], eax
jmp 0x48b233
mov dword [esp + 0x78], edi
cmp dword [esp + 0x40], edi
jne 0x48b31e
mov eax, esi
mov eax, dword [eax + 0x1bc]
test eax, eax
je 0x48b260
lea esp, [esp]
cmp dword [eax + 0x44], edi
je 0x48b31e
mov eax, dword [eax + 0x48]
test eax, eax
jne 0x48b250
mov eax, dword [esp + 0x4b4]
mov edx, dword [eax + 0x294]
mov ecx, esi
push ecx
push eax
call edx
add esp, 8
test eax, eax
jne 0x48b31e
mov eax, esi
mov edi, dword [eax + 0x194]
test edi, edi
je 0x48b31e
mov esi, dword [esp + 0x4b4]
jmp 0x48b2a0
mov byte [edi + 0x1b9], 0
cmp edi, dword [esi + 0x228]
je 0x48b2c8
movzx eax, word [edi + 0x1a4]
test eax, 0x800
jne 0x48b30e
test al, 1
je 0x48b30e
test eax, 0x200
jne 0x48b30e
mov eax, dword [esi + 0x270]
test eax, eax
je 0x48b2e2
cmp dword [edi + 0x154], 0
jne 0x48b2e2
push edi
push esi
call eax
add esp, 8
mov ecx, dword [edi + 0x154]
cmp ecx, dword [edi + 0x158]
jae 0x48b30e
mov esi, dword [esp + 0x4b4]
lea edx, [esp + 0x4c]
push edx
push ebx
push ebp
push edi
call fcn.0048acd0
add esp, 0x10
cmp dword [esp + 0x4c], 0
jne 0x48b316
mov edi, dword [edi]
test edi, edi
jne 0x48b2a0
jmp 0x48b31e
mov dword [esp + 0x40], 1
mov edi, dword [esp + 0x4b8]
mov esi, dword [edi + 0x1a4]
test esi, esi
jne 0x48b359
cmp dword [edi + 0x1ac], esi
jne 0x48b359
cmp dword [edi + 0x1bc], esi
jne 0x48b359
mov eax, dword [esp + 0x4c0]
mov dword [eax], 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x49c
ret
cmp byte [edi + 0x4a7], 0
jbe 0x48b388
mov eax, dword [edi + 0x1fc]
test eax, eax
je 0x48b376
mov ebx, dword [eax]
mov dword [esp + 0x44], ebx
test ebx, ebx
jne 0x48b380
mov ebx, dword [edi + 0x194]
mov dword [esp + 0x44], ebx
mov dword [edi + 0x1fc], ebx
jmp 0x48b392
mov ebx, dword [edi + 0x194]
mov dword [esp + 0x44], ebx
mov ebp, dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
test esi, esi
je 0x48b3d3
lea esp, [esp]
cmp dword [esi + 0x44], 0
jne 0x48b3cc
mov eax, dword [edi + 0x1f8]
test eax, eax
je 0x48b3b5
mov dword [esi + 0x44], eax
jmp 0x48b3be
mov ecx, dword [edi + 0x1f4]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x44]
push 1
add edx, 0x150
push edx
call ebp
mov esi, dword [esi + 0x48]
test esi, esi
jne 0x48b3a0
mov dword [esp + 0x4c], 0
jmp 0x48b3e0
mov dword [esp + 0x10], ebx
test ebx, ebx
je 0x48c470
lea esp, [esp]
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x48b402
cmp eax, dword [esp + 0x10]
je 0x48c470
mov eax, dword [esp + 0x4b8]
cmp dword [eax + 0x1a4], 0
jne 0x48b433
mov ecx, eax
cmp dword [ecx + 0x1ac], 0
jne 0x48b433
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x154]
cmp edx, dword [eax + 0x158]
jae 0x48c45e
mov edx, dword [esp + 0x10]
movzx eax, word [edx + 0x1a4]
mov ecx, dword [edx + 0x94]
xor ebp, ebp
mov edi, 1
shr eax, 9
and eax, edi
cmp word [edx + 0x74], 0x7b
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x20], edi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x80], eax
jne 0x48b47d
sub ecx, 0xc
mov esi, dword [esp + 0x4b8]
mov eax, dword [esi + 0x314]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x24], ebp
cmp ecx, eax
jbe 0x48b4ac
cmp dword [esi + 0x35c], ebp
jbe 0x48b4a8
mov dword [esp + 0x2c], eax
jmp 0x48b4b0
mov dword [esp + 0x5c], edi
mov dword [esp + 0x2c], ecx
mov edi, dword [esi + 0x1ac]
mov ebx, dword [esp + 0x4b4]
cmp edi, ebp
je 0x48b819
jmp 0x48b4d0
cmp byte [edi], 0xc1
mov ebp, dword [edi + 0x48]
jne 0x48b806
mov eax, dword [edi + 0x44]
mov esi, dword [esp + 0x4b8]
test eax, eax
jne 0x48b4fc
mov eax, dword [esi + 0x1f8]
test eax, eax
jne 0x48b4fc
cmp dword [esi + 0x1f4], edx
jmp 0x48b4fe
cmp eax, edx
jne 0x48b817
cmp dword [edi + 0x3c], 0
je 0x48b817
mov eax, dword [edi + 0x50]
test eax, eax
je 0x48b51e
cmp eax, 4
jne 0x48b817
cmp dword [esp + 0x1c], 0
jne 0x48b563
mov eax, dword [ebx + 0x434]
test eax, eax
je 0x48b563
xor ecx, ecx
cmp byte [eax + 0xc1], cl
setne cl
mov eax, ecx
test eax, eax
je 0x48b563
movzx eax, word [ebx + 0x470]
sub eax, 1
je 0x48b556
xor eax, eax
lea esi, [eax + 0xb]
and esi, 0xfffffffc
jmp 0x48b565
mov eax, 0x14
lea esi, [eax + 0xb]
and esi, 0xfffffffc
jmp 0x48b565
xor esi, esi
mov eax, dword [esp + 0x14]
movzx ecx, word [edi + 0x58]
sub eax, esi
cmp ecx, eax
jl 0x48b582
mov eax, pe_nt_image_headers32
test word [edi + 0x56], ax
je 0x48b806
cmp dword [esp + 0x1c], 0
jne 0x48b5d4
mov eax, dword [ebx + 0x434]
test eax, eax
je 0x48b5d4
xor ecx, ecx
cmp byte [eax + 0xc1], cl
setne cl
mov eax, ecx
test eax, eax
je 0x48b5d4
push ebx
lea edx, [esp + 0x34]
push edx
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x44]
push ecx
push edx
mov cl, 0xc1
call fcn.00493400
add esp, 0x14
push 1
push 0x69f4a8
mov dword [esp + 0x20], eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
movzx eax, byte [edi + 0x65]
movzx ecx, word [edi + 0x58]
movzx edx, byte [edi + 1]
push eax
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [edi + 0x3c]
lea eax, [esp + 0x44]
push eax
push ecx
push edx
call fcn.004889e0
add esp, 0x18
mov dword [esp + 0x18], eax
test eax, eax
je 0x48c4a3
push 1
push 0x69f4a8
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
movzx eax, word [edi + 0x58]
lea ecx, [eax + esi]
cmp dword [esp + 0x14], ecx
jbe 0x48b627
add eax, esi
sub dword [esp + 0x14], eax
jmp 0x48b62f
mov dword [esp + 0x14], 0
add dword [esp + 0x24], ecx
mov eax, pe_nt_image_headers32
test word [edi + 0x56], ax
je 0x48b646
mov dword [esp + 0x20], 0
cmp byte [edi + 1], 0
je 0x48b653
mov dword [edi + 0x3c], 0
cmp dword [edi + 0x44], 0
mov eax, 1
mov dword [esp + 0x50], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], eax
mov dword [edi + 0x50], eax
jne 0x48b687
mov eax, dword [esp + 0x10]
mov dword [edi + 0x44], eax
push 1
add eax, 0x150
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov eax, 1
add word [edi + 0x54], ax
cmp dword [esp + 0x14], 0
jne 0x48b802
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x4b0]
push ecx
push ebx
push edx
push 0xa
call fcn.004767e0
mov eax, dword [esp + 0x4e0]
add esp, 0x10
cmp dword [eax], 0
jne 0x48b71e
lea ecx, [esp + 0x90]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
push 0
add eax, 0x2ac18000
push 0x989680
adc ecx, 0xfe624e21
push ecx
push eax
call fcn.005d2760
mov esi, dword [esp + 0x4cc]
push 0
push 0xa
push ebx
push ecx
mov dword [esp + 0x7c], edx
mov dword [esi], eax
call fcn.005c4b80
mov edx, dword [esp + 0x4d0]
mov ebx, dword [esp + 0x4b4]
mov dword [esi + 4], eax
mov dword [edx], 1
mov eax, dword [esp + 0x4cc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov edi, dword [esp + 0x10]
mov dword [edi + 0xf8], ecx
mov dword [edi + 0xfc], edx
mov eax, dword [ebx + 0x2d8]
push 0
push eax
mov dword [esp + 0x58], 0
call sub.WS2_32.dll_htonl
movzx ecx, word [ebx + 0x578]
push eax
mov eax, dword [esp + 0x4b8]
movzx edx, word [eax + 0x3a]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
movzx edx, word [ebx + 0x458]
push 0
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x34]
push ecx
push edx
lea esi, [edi + 0x74]
push esi
push ebx
push eax
mov eax, dword [esp + 0x4c]
mov ecx, edi
call fcn.004868a0
mov edi, eax
add esp, 0x30
test edi, edi
jne 0x48b87f
mov eax, dword [esp + 0x4b8]
xor ecx, ecx
mov byte [eax + 0x49f], 0
mov dword [esp + 0x38], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], ecx
cmp dword [esp + 0x60], ecx
jne 0x48b7d3
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x4bc]
add dword [eax], edx
cmp word [esi], 0x7b
mov eax, dword [esp + 0x10]
je 0x48b7e9
mov edx, dword [eax + 0x94]
mov dword [esp + 0x14], edx
jmp 0x48b7f6
mov eax, dword [eax + 0x94]
sub eax, 0xc
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], 1
mov edx, dword [esp + 0x10]
mov edi, ebp
test ebp, ebp
jne 0x48b4d0
mov esi, dword [esp + 0x4b8]
xor ebp, ebp
mov edi, dword [esi + 0x1a4]
cmp edi, ebp
je 0x48bcd9
jmp 0x48b830
mov ecx, dword [edi + 0x48]
mov esi, dword [esp + 0x4b8]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x48b866
cmp byte [edi], 0xc
jne 0x48b866
mov eax, dword [edi + 0x44]
cmp eax, ecx
je 0x48b866
cmp eax, edx
je 0x48bcc2
cmp ecx, edx
je 0x48b8f3
mov eax, dword [edi + 0x44]
test eax, eax
jne 0x48b8eb
mov eax, dword [esi + 0x1f8]
test eax, eax
jne 0x48b8eb
cmp dword [esi + 0x1f4], edx
jmp 0x48b8ed
cmp dword [esp + 0x4c8], 0
jne 0x48b896
push 1
push 0x69f638
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
cmp edi, 0x2747
jne 0x48b8bb
mov ecx, dword [esp + 0x4b8]
push 1
push 0x69f634
mov byte [ecx + 0x49f], 1
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
jmp 0x48b8d1
cmp edi, 0x2751
jne 0x48b8d1
mov edx, dword [esp + 0x10]
push edx
push ebx
call fcn.0048ae30
add esp, 8
mov eax, dword [esp + 0x4c0]
mov dword [esp + 0x28], 0
mov dword [eax], 7
jmp 0x48c45e
cmp eax, edx
jne 0x48bcc2
cmp dword [edi + 0x3c], 0
je 0x48bcc2
cmp dword [edi + 0x50], 0
jne 0x48bcc2
test ebp, ebp
jne 0x48b949
mov eax, dword [ebx + 0x434]
test eax, eax
je 0x48b949
movzx edx, byte [edi]
xor ecx, ecx
cmp byte [edx + eax], cl
setne cl
mov eax, ecx
test eax, eax
je 0x48b949
movzx eax, word [ebx + 0x470]
sub eax, 1
je 0x48b93c
xor eax, eax
lea esi, [eax + 0xb]
and esi, 0xfffffffc
jmp 0x48b94b
mov eax, 0x14
lea esi, [eax + 0xb]
and esi, 0xfffffffc
jmp 0x48b94b
xor esi, esi
mov edx, dword [esp + 0x14]
movzx eax, word [edi + 0x58]
sub edx, esi
cmp eax, edx
jle 0x48b968
mov ecx, pe_nt_image_headers32
test word [edi + 0x56], cx
je 0x48bcc2
test ebp, ebp
jne 0x48b9c0
mov eax, dword [ebx + 0x434]
test eax, eax
je 0x48b9c0
movzx ecx, byte [edi]
movzx edx, cl
mov dword [esp + 0x68], ecx
xor ecx, ecx
cmp byte [edx + eax], cl
setne cl
mov eax, ecx
mov ecx, dword [esp + 0x68]
test eax, eax
je 0x48b9c0
push ebx
lea eax, [esp + 0x34]
push eax
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x44]
push eax
push edx
call fcn.00493400
add esp, 0x14
push 1
push 0x69f4a8
mov dword [esp + 0x20], eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
movzx eax, byte [edi + 0x65]
movzx ecx, word [edi + 0x58]
movzx edx, byte [edi + 1]
push eax
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [edi + 0x3c]
lea eax, [esp + 0x44]
push eax
push ecx
push edx
call fcn.004889e0
add esp, 0x18
mov dword [esp + 0x18], eax
test eax, eax
je 0x48c4c0
mov ebp, dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
push 1
push 0x69f4a8
call ebp
movzx eax, word [edi + 0x58]
lea ecx, [eax + esi]
cmp dword [esp + 0x14], ecx
jbe 0x48ba15
add eax, esi
sub dword [esp + 0x14], eax
jmp 0x48ba1d
mov dword [esp + 0x14], 0
add dword [esp + 0x24], ecx
mov eax, pe_nt_image_headers32
test word [edi + 0x56], ax
je 0x48ba34
mov dword [esp + 0x20], 0
cmp byte [edi + 1], 0
je 0x48ba41
mov dword [edi + 0x3c], 0
mov al, byte [edi]
cmp al, 3
je 0x48babd
cmp al, 0x10
je 0x48babd
cmp al, 4
je 0x48bac1
cmp al, 5
je 0x48babd
cmp al, 7
je 0x48babd
cmp al, 8
je 0x48babd
cmp al, 9
je 0x48babd
cmp al, 0xb
je 0x48babd
cmp al, 0xd
je 0x48babd
cmp al, 0x81
je 0x48babd
cmp al, 0x80
je 0x48babd
mov ecx, 1
add dword [esp + 0x34], ecx
cmp al, 0xa
jne 0x48ba86
mov dword [esp + 0x48], ecx
mov dword [esp + 0x60], ecx
jmp 0x48ba98
cmp al, 0xc
jne 0x48ba98
push 1
push 0x69f538
call ebp
mov ecx, 1
cmp dword [edi + 0x44], 0
mov dword [edi + 0x50], ecx
jne 0x48bab7
mov eax, dword [esp + 0x10]
mov dword [edi + 0x44], eax
push 1
add eax, 0x150
push eax
call ebp
mov ecx, 1
add word [edi + 0x54], cx
jmp 0x48baf9
cmp al, 4
jne 0x48bac9
mov dword [esp + 0x50], 1
cmp al, 3
je 0x48bad1
cmp al, 0x10
jne 0x48baf5
test byte [ebx + 0x94], 4
je 0x48baf5
mov ecx, dword [esp + 0x4b0]
push 0x90000001
xor eax, eax
push ebx
push ecx
lea edx, [eax + 3]
call fcn.00476bf0
add esp, 0xc
inc dword [esp + 0x34]
cmp dword [esp + 0x14], 0
jne 0x48bcc2
mov edx, dword [esp + 0x4b8]
movzx eax, byte [edx + 0x48c]
sub eax, 1
je 0x48bb1b
xor edi, edi
jmp 0x48bb20
mov edi, 1
cmp dword [esp + 0x28], 0
mov ebp, dword [esp + 0x10]
je 0x48bb41
mov eax, dword [esp + 0x4b0]
push ebp
push ebx
push eax
push 0xa
call fcn.004767e0
add esp, 0x10
xor edi, edi
cmp dword [esp + 0x48], 0
je 0x48bb62
mov ecx, dword [esp + 0x4b0]
push ebp
push ebx
push ecx
push 6
call fcn.004767e0
add esp, 0x10
xor edi, edi
mov dword [esp + 0x48], edi
cmp dword [esp + 0x50], 0
je 0x48bc01
mov edx, dword [esp + 0x4d0]
cmp dword [edx], 0
jne 0x48bbe1
lea eax, [esp + 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
push 0
add eax, 0x2ac18000
push 0x989680
adc ecx, 0xfe624e21
push ecx
push eax
call fcn.005d2760
mov esi, dword [esp + 0x4cc]
push 0
push 0xa
push ebx
push ecx
mov dword [esp + 0x7c], edx
mov dword [esi], eax
call fcn.005c4b80
mov ecx, dword [esp + 0x4d0]
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x4b4]
mov dword [esi + 4], eax
mov dword [ecx], 1
mov eax, dword [esp + 0x4cc]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp + 0xf8], edx
mov dword [ebp + 0xfc], eax
mov dword [esp + 0x50], 0
mov ecx, dword [ebx + 0x2d8]
push edi
push ecx
call sub.WS2_32.dll_htonl
movzx edx, word [ebx + 0x578]
push eax
mov eax, dword [esp + 0x4b8]
movzx ecx, word [eax + 0x3a]
movzx eax, word [ebx + 0x458]
push edx
mov edx, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x40]
push 0
push edx
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x4cc]
push ecx
push edx
lea esi, [ebp + 0x74]
push esi
push ebx
push eax
mov eax, dword [esp + 0x4c]
mov ecx, ebp
call fcn.004868a0
mov edi, eax
add esp, 0x30
test edi, edi
jne 0x48bd5a
mov ecx, dword [esp + 0x4b8]
mov byte [ecx + 0x49f], al
xor ecx, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], ecx
cmp dword [esp + 0x60], ecx
jne 0x48bc97
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x4bc]
add dword [eax], edx
cmp word [esi], 0x7b
je 0x48bca9
mov eax, dword [ebp + 0x94]
mov dword [esp + 0x14], eax
jmp 0x48bcb6
mov ebp, dword [ebp + 0x94]
sub ebp, 0xc
mov dword [esp + 0x14], ebp
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], 1
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x10]
test edi, edi
jne 0x48b830
mov esi, dword [esp + 0x4b8]
mov al, byte [esi + 0x4a7]
test al, al
jbe 0x48bd01
cmp edx, dword [ebx + 0x228]
je 0x48bd01
mov ecx, 0x800
test word [edx + 0x1a4], cx
jne 0x48c14d
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x154]
cmp ecx, dword [edx + 0x158]
jae 0x48c14d
test al, al
jbe 0x48bd3e
mov al, byte [0x69f81c]
test al, 2
je 0x48bd2a
cmp ecx, dword [esp + 0x7c]
ja 0x48c14d
test al, 1
je 0x48bd3e
mov eax, dword [esp + 0x78]
test eax, eax
jbe 0x48bd3e
cmp ecx, eax
ja 0x48c14d
mov ecx, dword [esp + 0x4b4]
mov eax, dword [ecx + 0x434]
xor esi, esi
cmp eax, esi
jne 0x48bdc2
mov dword [esp + 0x68], esi
jmp 0x48bdf8
cmp dword [esp + 0x4c8], 0
jne 0x48bd71
push 1
push 0x69f638
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
cmp edi, 0x2747
jne 0x48bd96
mov ecx, dword [esp + 0x4b8]
push 1
push 0x69f634
mov byte [ecx + 0x49f], 1
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
jmp 0x48bda8
cmp edi, 0x2751
jne 0x48bda8
push ebp
push ebx
call fcn.0048ae30
add esp, 8
mov edx, dword [esp + 0x4c0]
mov dword [esp + 0x28], 0
mov dword [edx], 7
jmp 0x48c45e
xor edx, edx
cmp byte [eax], dl
setne dl
mov eax, edx
mov dword [esp + 0x68], eax
cmp eax, esi
je 0x48bdf8
cmp dword [esp + 0x1c], esi
jne 0x48bdf8
movzx eax, word [ecx + 0x470]
sub eax, 1
je 0x48bde9
xor eax, eax
jmp 0x48bdee
mov eax, 0x14
add eax, 0xb
and eax, 0xfffffffc
sub dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
cmp word [eax + 0x74], 0x7b
jne 0x48be17
mov eax, dword [eax + 0x94]
cmp eax, 0xc
jbe 0x48be17
add eax, 0xfffffff4
mov dword [esp + 0x54], eax
jmp 0x48be1b
mov dword [esp + 0x54], esi
mov eax, ecx
mov eax, dword [eax + 0x30]
and eax, 0x7f
mov ebx, 8
cmp eax, ebx
je 0x48be31
cmp eax, 0x20
jne 0x48be3b
cmp dword [esp + 0x80], 0
je 0x48be46
cmp dword [esp + 0x48], 0
je 0x48c14d
mov ecx, dword [esp + 0x4b8]
mov edi, dword [ecx + 0x1bc]
test edi, edi
je 0x48c14d
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
jmp 0x48be70
cmp dword [esp + 0x40], 0
mov esi, dword [edi + 0x48]
jne 0x48c102
mov eax, dword [edx + 0x154]
cmp eax, dword [edx + 0x158]
jae 0x48c111
mov ecx, dword [edi + 0x44]
test ecx, ecx
je 0x48be9f
cmp ecx, edx
jne 0x48c0f6
mov eax, dword [esp + 0x4b8]
cmp byte [eax + 0x4a7], 0
jne 0x48bee4
mov eax, dword [eax + 0x1f8]
test eax, eax
je 0x48bec5
cmp eax, edx
je 0x48bec5
test ecx, ecx
je 0x48c0f6
mov ebp, dword [esp + 0x4b8]
cmp edx, dword [ebp + 0x1f4]
je 0x48bee0
test eax, eax
jne 0x48bee0
test ecx, ecx
je 0x48c0f2
mov ebp, dword [esp + 0x18]
movzx eax, word [edi + 0x58]
cmp eax, dword [esp + 0x54]
jbe 0x48bf1c
mov ecx, pe_nt_image_headers32
test word [edi + 0x56], cx
jne 0x48bf1c
mov ecx, dword [0x69f864]
test ecx, ecx
je 0x48bf13
mov edx, dword [esp + 0x14]
push edx
push eax
push str.Warning_chunk_of__d_bytes___mtu:_d_and_yet_PMTU_disc_missed_n
call ecx
add esp, 0xc
mov eax, pe_nt_image_headers32
or word [edi + 0x56], ax
cmp dword [0x69f814], 0
je 0x48bf3a
mov ecx, dword [esp + 0x4b8]
test byte [ecx], 0x80
je 0x48bf3a
mov edx, dword [edi + 0x3c]
mov eax, dword [edx + 8]
or byte [eax + 1], bl
movzx eax, word [edi + 0x58]
cmp eax, dword [esp + 0x14]
ja 0x48bf4a
cmp eax, dword [esp + 0x2c]
jbe 0x48bf6c
mov ecx, pe_nt_image_headers32
test word [edi + 0x56], cx
je 0x48c14d
mov edx, dword [esp + 0x4b8]
cmp eax, dword [edx + 0x314]
ja 0x48c14d
cmp dword [esp + 0x68], 0
je 0x48bfe5
cmp dword [esp + 0x1c], 0
jne 0x48bfbd
mov eax, dword [esp + 0x4b4]
push eax
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x44]
push eax
push ebp
xor cl, cl
call fcn.00493400
movzx ecx, word [edi + 0x5e]
add esp, 0x14
push 1
push 0x69f4a8
mov ebp, eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x6c], 0
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
jmp 0x48bfe5
cmp dword [esp + 0x64], 0
je 0x48bfd6
movzx edx, word [edi + 0x5e]
mov dword [esp + 0x58], edx
mov dword [esp + 0x64], 0
jmp 0x48bfe5
mov ax, word [esp + 0x58]
cmp ax, word [edi + 0x5e]
jne 0x48c14d
movzx ecx, byte [edi + 0x65]
movzx edx, word [edi + 0x58]
push ecx
mov ecx, dword [edi + 0x3c]
push edx
push 0
lea eax, [esp + 0x44]
push eax
push ebp
push ecx
call fcn.004889e0
mov ebp, eax
add esp, 0x18
mov dword [esp + 0x18], ebp
test ebp, ebp
je 0x48c4dd
mov edx, pe_nt_image_headers32
test word [edi + 0x56], dx
je 0x48c024
mov dword [esp + 0x20], 0
movzx eax, word [edi + 0x58]
cmp dword [esp + 0x14], eax
jbe 0x48c034
sub dword [esp + 0x14], eax
jmp 0x48c03c
mov dword [esp + 0x14], 0
cmp dword [esp + 0x2c], eax
jbe 0x48c048
sub dword [esp + 0x2c], eax
jmp 0x48c050
mov dword [esp + 0x2c], 0
mov ecx, dword [esp + 0x24]
add ecx, eax
mov dword [esp + 0x24], ecx
cmp ecx, dword [esp + 0x70]
jbe 0x48c080
cmp dword [esp + 0x20], 0
je 0x48c080
mov eax, dword [0x69f864]
test eax, eax
je 0x48c080
mov edx, dword [esp + 0x70]
push ecx
push edx
push str.Exceeding_mtu_of__d_out_size_is__d_n
call eax
add esp, 0xc
mov eax, dword [esp + 0x3c]
mov dword [esp + eax*4 + 0xa8], edi
inc eax
cmp eax, 0x100
mov byte [edi + 0x66], 0
mov dword [esp + 0x3c], eax
jge 0x48c14d
cmp dword [edi + 0x50], 0
jne 0x48c0d7
test byte [edi + 0x29], 4
push 1
jne 0x48c0b4
push 0x69f4ac
jmp 0x48c0b9
push 0x69f4b0
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov al, byte [edi + 0x29]
test al, 1
je 0x48c0d7
test al, 2
jne 0x48c0d7
push 1
push 0x69f4c0
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
cmp dword [esp + 0x14], 0
je 0x48c120
cmp dword [esp + 0x2c], 0
je 0x48c120
cmp dword [esp + 0x5c], 0
jne 0x48c127
mov edx, dword [esp + 0x10]
jmp 0x48c0f6
mov ebp, dword [esp + 0x18]
mov edi, esi
test esi, esi
jne 0x48be70
jmp 0x48c14d
mov eax, dword [esp + 0x4c0]
mov dword [eax], 1
jmp 0x48c14d
mov ecx, dword [esp + 0x4c0]
mov dword [ecx], 2
jmp 0x48c14d
cmp dword [esp + 0x5c], 0
je 0x48c14d
mov edx, dword [esp + 0x4b4]
cmp dword [edx + 0x38c], 0
jne 0x48c14d
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x10]
mov byte [eax + 0x66], 1
mov byte [ecx + 0x1b9], 1
cmp dword [esp + 0x18], 0
je 0x48c45e
mov ebp, dword [esp + 0x4b8]
movzx eax, byte [ebp + 0x48c]
sub eax, 1
je 0x48c16f
xor esi, esi
jmp 0x48c174
mov esi, 1
cmp dword [esp + 0x28], 0
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x4b4]
je 0x48c19c
mov edx, dword [esp + 0x4b0]
push edi
push ebx
push edx
push 0xa
call fcn.004767e0
add esp, 0x10
xor esi, esi
cmp dword [esp + 0x48], 0
je 0x48c1bd
mov eax, dword [esp + 0x4b0]
push edi
push ebx
push eax
push 6
call fcn.004767e0
add esp, 0x10
xor esi, esi
mov dword [esp + 0x48], esi
cmp dword [esp + 0x3c], 0
je 0x48c1e3
test byte [edi + 0xd8], 4
jne 0x48c1ee
mov ecx, dword [esp + 0x4b0]
push edi
push ebx
push ecx
push 1
call fcn.004767e0
add esp, 0x10
jmp 0x48c1ee
cmp dword [esp + 0x50], 0
je 0x48c281
mov edx, dword [esp + 0x4d0]
cmp dword [edx], 0
jne 0x48c263
lea eax, [esp + 0xa0]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
push 0
add eax, 0x2ac18000
push 0x989680
adc ecx, 0xfe624e21
push ecx
push eax
call fcn.005d2760
mov edi, dword [esp + 0x4cc]
push 0
push 0xa
push ebx
push ecx
mov dword [esp + 0x94], edx
mov dword [edi], eax
call fcn.005c4b80
mov ecx, dword [esp + 0x4d0]
mov ebx, dword [esp + 0x4b4]
mov dword [edi + 4], eax
mov dword [ecx], 1
jmp 0x48c26a
mov edi, dword [esp + 0x4cc]
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
mov ecx, dword [edi + 4]
mov dword [eax + 0xf8], edx
mov dword [eax + 0xfc], ecx
jmp 0x48c288
mov edi, dword [esp + 0x4cc]
mov edx, dword [ebx + 0x2d8]
push esi
push edx
call sub.WS2_32.dll_htonl
mov edx, dword [esp + 0x4b4]
movzx ecx, word [edx + 0x3a]
push eax
movzx eax, word [ebx + 0x578]
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x30]
push eax
lea eax, [ecx + 0x74]
push eax
mov eax, dword [esp + 0x44]
push ebx
push edx
call fcn.004868a0
mov esi, eax
add esp, 0x30
test esi, esi
je 0x48c35d
xor edi, edi
cmp dword [esp + 0x4c8], edi
jne 0x48c2f7
push 1
push 0x69f638
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
cmp esi, 0x2747
jne 0x48c32d
push 1
push 0x69f634
mov byte [ebp + 0x49f], 1
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov edx, dword [esp + 0x4c0]
mov dword [esp + 0x28], edi
mov dword [edx], 6
mov dword [esp + 0x34], edi
jmp 0x48c45e
cmp esi, 0x2751
jne 0x48c343
mov ecx, dword [esp + 0x10]
push ecx
push ebx
call fcn.0048ae30
add esp, 8
mov edx, dword [esp + 0x4c0]
mov dword [esp + 0x28], edi
mov dword [edx], 6
mov dword [esp + 0x34], edi
jmp 0x48c45e
cmp dword [esp + 0x60], 0
mov byte [ebp + 0x49f], 0
mov dword [esp + 0x28], 0
jne 0x48c386
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
add ecx, eax
mov eax, dword [esp + 0x4bc]
add dword [eax], ecx
cmp dword [esp + 0x3c], 0
je 0x48c457
mov edx, dword [esp + 0x4d0]
cmp dword [edx], 0
jne 0x48c401
lea eax, [esp + 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
push 0
add eax, 0x2ac18000
push 0x989680
adc ecx, 0xfe624e21
push ecx
push eax
call fcn.005d2760
push 0
push 0xa
push ebx
push ecx
mov dword [esp + 0x94], edx
mov dword [ebp + 0x1c], eax
call fcn.005c4b80
mov ecx, dword [esp + 0x4d0]
mov dword [ebp + 0x20], eax
mov edx, dword [ebp + 0x1c]
mov dword [ecx], 1
mov dword [edi], edx
mov dword [edi + 4], eax
jmp 0x48c40c
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov dword [ebp + 0x1c], ecx
mov dword [ebp + 0x20], edx
mov edi, dword [esp + 0x10]
cmp byte [edi + 0x1bd], 0
je 0x48c42b
mov eax, dword [esp + 0xa8]
mov byte [eax + 0x62], 1
mov byte [edi + 0x1bd], 0
mov esi, dword [esp + 0x3c]
push esi
push 0x69f524
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov edx, dword [esp + 0x4b4]
push edi
push esi
lea ecx, [esp + 0xb0]
push ecx
push edx
mov eax, ebp
call fcn.00489950
add esp, 0x10
cmp dword [esp + 0x5c], 0
jne 0x48c477
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x48b3f0
mov ebp, dword [esp + 0x4b8]
cmp dword [esp + 0x4c], 0
jne 0x48c522
mov eax, dword [esp + 0x44]
mov ecx, dword [ebp + 0x194]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], ecx
test eax, eax
je 0x48c522
mov ebx, ecx
jmp 0x48b3e0
mov edx, dword [esp + 0x4c0]
mov dword [edx], 8
mov eax, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x49c
ret
mov eax, dword [esp + 0x4c0]
mov dword [eax], 8
mov eax, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x49c
ret
mov eax, dword [esp + 0x10]
test byte [eax + 0xd8], 4
jne 0x48c505
mov ecx, dword [esp + 0x4b4]
mov edx, dword [esp + 0x4b0]
push eax
push ecx
push edx
push 1
call fcn.004767e0
add esp, 0x10
mov eax, dword [esp + 0x4c0]
mov dword [eax], 3
mov eax, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x49c
ret
mov ecx, dword [esp + 0x4bc]
cmp dword [ecx], 0
mov eax, dword [esp + 0x4c0]
jne 0x48c542
cmp dword [eax], 0
jne 0x48c542
mov dword [eax], 4
jmp 0x48c548
mov dword [eax], 5
mov edx, dword [esp + 0x4b4]
push ebp
push edx
call fcn.00489b80
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x49c
ret