Function at 0x496dd0
Capabilities:
Initialize winsock library
Set socket configuration
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f9bfe
mov eax, dword fs:[0]
push eax
sub esp, 0x474
mov eax, dword [0x52de04]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
push 0x148
mov dword [ebp - 0x478], eax
call fcn.0049c406
add esp, 4
mov dword [ebp - 0x474], eax
test eax, eax
je 0x496e31
mov ecx, eax
call fcn.00496610
mov esi, eax
mov dword [ebp - 0x47c], eax
jmp 0x496e39
xor esi, esi
mov dword [ebp - 0x47c], esi
mov eax, dword [ebp - 0x478]
push eax
mov dword [esi + 0x124], eax
call fcn.00412ef0
push eax
push str.BITBUCKET
call fcn.00412960
add esp, 0xc
test eax, eax
je 0x496eb1
mov eax, dword [ebp - 0x478]
push edi
push eax
call fcn.00412e30
add esp, 4
push eax
push str._s_n_nThe_minPrint_I_O_layer_has_been_set_to_bit_bucket_mode_for_analysis._n_nThis_diagnostic_mode_is_enabled_by_BITBUCKET_in_the_printerX_file._n_nThis_mode_has_suppressed_physical_output_to:_n_n_s_n
call fcn.004153c0
add esp, 0xc
mov byte [esi + 0x130], 1
mov dword [esi + 0x140], 0
mov dword [esi + 0x144], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x138], eax
mov dword [esi + 0x13c], 0
jmp 0x4975a2
push 3
push 0x5002d0
push edi
mov byte [esi + 0x130], 0
call fcn.004d5f30
add esp, 0xc
test eax, eax
jne 0x4970f2
mov eax, dword [ebp - 0x478]
push eax
lea eax, [ebp - 0x458]
push eax
call fcn.00448f40
add esp, 8
cmp dword [ebp - 0x448], 0
mov dword [ebp - 4], 0
jne 0x496f03
push str.FATAL_ERROR_n_nUse_minPrint_USB_bypass_only_for_loadlist_load_points
call fcn.004153c0
add esp, 4
sub esp, 0x18
lea eax, [ebp - 0x458]
mov ecx, esp
mov dword [ebp - 0x480], esp
push eax
call fcn.00405d30
sub esp, 0x18
mov byte [ebp - 4], 1
mov dword [ebp - 0x474], esp
mov ecx, edi
sub esp, 0x18
xorps xmm0, xmm0
mov edx, esp
lea eax, [ecx + 1]
mov dword [ebp - 0x478], eax
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x496f50
sub ecx, dword [ebp - 0x478]
push ecx
push edi
mov ecx, edx
call fcn.004020f0
push dword [ebp - 0x474]
call fcn.0041cf40
add esp, 0x1c
mov byte [ebp - 4], 0
lea eax, [ebp - 0x470]
push eax
call fcn.004488b0
add esp, 0x34
mov ecx, edi
mov byte [ebp - 4], 2
xorps xmm0, xmm0
mov dword [ebp - 0x418], 0
movups xmmword [ebp - 0x428], xmm0
mov dword [ebp - 0x414], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x496fb0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x428]
call fcn.004020f0
sub esp, 0x18
mov byte [ebp - 4], 3
cmp dword [ebp - 0x460], 0
mov ecx, esp
jne 0x49700c
lea eax, [ebp - 0x458]
push eax
call fcn.00405d30
lea eax, [ebp - 0x440]
push eax
call fcn.0041ce60
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x496ffb
mov eax, dword [eax]
push eax
push edi
push str.FATAL_ERROR___Failure_to_get_USB_device_path_for_n_n_n_s_n_n_s_n
call fcn.004153c0
add esp, 0xc
jmp 0x497042
lea eax, [ebp - 0x470]
push eax
call fcn.00405d30
lea eax, [ebp - 0x440]
push eax
call fcn.0041ce60
mov ecx, eax
add esp, 0x1c
cmp dword [ecx + 0x14], 0x10
jb 0x497031
mov ecx, dword [ecx]
mov edx, edi
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x497035
lea ecx, [ebp - 0x440]
call fcn.004025c0
push edi
call fcn.004967b0
add esp, 4
test al, al
jne 0x49707c
push edi
lea ecx, [ebp - 0x428]
call fcn.0042f420
push eax
push str.FATAL_ERROR_n_n_s_n_nis_not_available._n_n_nUSB_Device_Path:_n_n_s
call fcn.004153c0
add esp, 0xc
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [ebp - 0x414]
mov byte [ebp - 4], 2
cmp ecx, 0x10
jb 0x4970ba
mov edx, dword [ebp - 0x428]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4970b0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4975bf
push ecx
push edx
call fcn.004b3acc
add esp, 8
lea ecx, [ebp - 0x470]
mov dword [ebp - 0x418], 0
mov dword [ebp - 0x414], 0xf
mov byte [ebp - 0x428], 0
call fcn.00402610
lea ecx, [ebp - 0x458]
mov dword [ebp - 4], 0xffffffff
call fcn.00402610
push 4
push str.._
push edi
call fcn.004cf660
add esp, 0xc
test eax, eax
je 0x4974b7
push 4
push 0x507930
push edi
call fcn.004cf660
add esp, 0xc
test eax, eax
je 0x4974b7
push 7
push str.TCP_IP:
push edi
call fcn.004cf660
add esp, 0xc
test eax, eax
jne 0x497283
lea eax, [ebp - 0x1a0]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
lea edx, [ebp - 0x310]
mov ecx, edi
sub edx, edi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x497156
push 0
push 0
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x424]
push eax
push edi
call fcn.004975d0
mov edi, dword [ebp - 0x414]
add esp, 0x20
nop dword [eax]
push edi
push dword [ebp - 0x418]
push dword [ebp - 0x41c]
push dword [ebp - 0x420]
push dword [ebp - 0x424]
call fcn.00498970
add esp, 0x14
mov dword [esi + 0x14], eax
test eax, eax
je 0x4971cd
cmp eax, 0xffffffff
jne 0x497229
push str.Try_again_
push str.TRYAGAINQUESTION
call fcn.0041b3d0
add esp, 8
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.0041c120
add esp, 4
push eax
push str.Failed_to_open_TCP_IP_connection.
push str.FAILEDTCPIPOPEN
call fcn.0041b3d0
add esp, 8
push eax
push str._s_n_n_s_n_n_s
push 0x30
push 0x4fdbd0
push str.WARNING
call fcn.0041b3d0
add esp, 8
push eax
call fcn.0041c040
add esp, 0x18
test eax, eax
je 0x49723f
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4971a0
cmp eax, 0xffffffff
je 0x4971a0
jmp 0x49724a
mov eax, dword [esi + 0x14]
test eax, eax
je 0x497571
cmp eax, 0xffffffff
je 0x497571
push 4
lea ecx, [ebp - 0x478]
mov dword [ebp - 0x478], 0x1e0001
push ecx
push 0x80
push 0xffff
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [esi + 0x10], 1
jmp 0x4975a2
push 4
push str.LPR:
push edi
call fcn.004cf660
add esp, 0xc
test eax, eax
jne 0x497417
push 0x200
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.004b90a0
lea eax, [ebp - 0x410]
push str.WasatchJob
push eax
call fcn.00404ce0
push 0
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x424]
push eax
push edi
call fcn.004975d0
mov al, byte [ebp - 0x210]
mov edx, 0x31
test al, al
movzx ecx, al
push 0x38
cmove ecx, edx
mov byte [ebp - 0x210], cl
call fcn.0049c406
mov edi, eax
add esp, 0x38
mov dword [ebp - 0x480], edi
mov dword [ebp - 4], 4
test edi, edi
je 0x4973d0
sub esp, 0x18
lea ecx, [ebp - 0x410]
mov edx, esp
mov dword [ebp - 0x47c], esp
xorps xmm0, xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0x474], eax
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x497358
sub ecx, dword [ebp - 0x474]
lea eax, [ebp - 0x410]
push ecx
push eax
mov ecx, edx
call fcn.004020f0
sub esp, 0x18
mov byte [ebp - 4], 5
mov edx, esp
lea ecx, [ebp - 0x210]
xorps xmm0, xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0x474], eax
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4973a0
sub ecx, dword [ebp - 0x474]
lea eax, [ebp - 0x210]
push ecx
push eax
mov ecx, edx
call fcn.004020f0
lea eax, [ebp - 0x424]
mov byte [ebp - 4], 4
push eax
mov ecx, edi
call fcn.00498b70
jmp 0x4973d2
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x18], eax
test eax, eax
je 0x497571
mov ecx, eax
call fcn.00498ef0
test eax, eax
jne 0x4975a2
mov ecx, dword [esi + 0x18]
call fcn.00498d50
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x497409
push 1
call fcn.00496680
mov dword [esi + 0x18], 0
xor eax, eax
jmp 0x4975a4
push 0x4fed48
push edi
mov dword [esi + 4], 0
call fcn.004cee2c
push 0x507a38
push 0
mov dword [ebp - 0x474], eax
call fcn.004cee2c
push 0x507a38
push 0
mov edi, eax
call fcn.004cee2c
add esp, 0x18
mov esi, eax
call fcn.00415580
push 0
xor ecx, ecx
cmp eax, 2
push esi
push dword [ebp - 0x474]
cmove ecx, edi
push ecx
call dword [sym.imp.GDI32.dll_CreateDCA]
mov esi, dword [ebp - 0x47c]
mov dword [esi], eax
test eax, eax
je 0x497571
lea ecx, [ebp - 0x43c]
mov dword [ebp - 0x42c], 0
push ecx
xorps xmm0, xmm0
mov dword [ebp - 0x43c], 0x14
push eax
movlpd qword [ebp - 0x434], xmm0
mov dword [ebp - 0x438], str.prtSpooler
call dword [sym.imp.GDI32.dll_StartDocA]
jmp 0x4975a2
push edi
push esi
call fcn.004967f0
lea eax, [esi + 0x1c]
add esp, 8
cmp byte [eax], 0
je 0x4974d8
push eax
push str.._s
push edi
call fcn.00404ce0
add esp, 0xc
mov dword [esi], 0
call fcn.00415580
cmp eax, 2
je 0x497509
push 7
lea eax, [edi + 4]
push str.BuffECP
push eax
call fcn.004d5f30
add esp, 0xc
test eax, eax
jne 0x497509
mov dword [esi + 0x120], 1
cmp dword [esi + 0x120], 0
push 0
je 0x497523
push 0x4000000
push 3
push 0
push 0
push 0
jmp 0x497533
push 0x8000080
push 4
push 0
push 1
push 0xc0000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [esi + 4], eax
cmp eax, 0xffffffff
jne 0x497575
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push str.failed_createfile_on__s___GetLastError_returns__d
call fcn.004153c0
lea eax, [esi + 0x1c]
mov dword [esi + 4], 0
add esp, 0xc
cmp byte [eax], 0
je 0x497571
push 0
push eax
push 2
call dword [sym.imp.KERNEL32.dll_DefineDosDeviceA]
xor eax, eax
jmp 0x4975a4
call fcn.00415580
cmp eax, 2
jne 0x4975a2
push 7
lea eax, [edi + 4]
push str.BuffECP
push eax
call fcn.004d5f30
add esp, 0xc
test eax, eax
jne 0x4975a2
push dword [esi + 4]
push esi
call fcn.00496730
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b3f28
mov esp, ebp
pop ebp
ret
call fcn.004c342f
int3