Function at 0x4146d0
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x426c25
mov eax, dword fs:[0]
push eax
sub esp, 0x460
mov eax, dword [0x435080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x384], ecx
push 2
call sub.SDL2.dll_SDL_SetThreadPriority
add esp, 4
mov dword [ebp - 0x3a0], eax
cmp dword [ebp - 0x3a0], 0
je 0x414779
mov eax, dword [ebp - 0x3a0]
push eax
push str.WORKER:THREAD:ERROR:SDL_SetThreadPriority__d_error_
lea ecx, [ebp - 0x148]
push ecx
call fcn.00418d50
add esp, 0xc
mov dword [ebp - 0x3b4], eax
mov edx, dword [ebp - 0x3b4]
mov dword [ebp - 0x3b8], edx
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x3b8]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x148]
call fcn.00406240
jmp 0x4147ce
push str.WORKER:THREAD:INFO:THREAD_PRIORITY_HIGH
lea eax, [ebp - 0x130]
push eax
call fcn.00418d50
add esp, 8
mov dword [ebp - 0x3bc], eax
mov ecx, dword [ebp - 0x3bc]
mov dword [ebp - 0x3c0], ecx
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x3c0]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x130]
call fcn.00406240
lea edx, [ebp - 0x380]
push edx
push 0x101
call sub.WS2_32.dll_WSAStartup
cmp eax, 0xffffffff
jne 0x414841
push str.SOCKET:ERR:WSAStartup__
lea eax, [ebp - 0x118]
push eax
call fcn.00418d50
add esp, 8
mov dword [ebp - 0x3c4], eax
mov ecx, dword [ebp - 0x3c4]
mov dword [ebp - 0x3c8], ecx
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x3c8]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x118]
call fcn.00406240
or eax, 0xffffffff
jmp 0x41598f
call fcn.00415df0
mov edx, dword [ebp - 0x384]
movzx eax, byte [edx + 0x2831]
test eax, eax
je 0x4148a1
push 0x42a408
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 0x2834]
push edx
push 0x435c70
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
add esp, 0xc
mov dword [ebp - 0x3cc], eax
cmp dword [ebp - 0x3cc], 0
je 0x414892
mov dword [0x435c70], 0
jmp 0x4148a1
mov eax, dword [0x435c70]
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov ecx, dword [ebp - 0x384]
movzx edx, byte [ecx + 0x28d8]
test edx, edx
je 0x415988
mov ecx, 0x438960
call fcn.0040d850
push eax
push 0x10
mov ecx, 0x4393f0
call fcn.00414520
mov ecx, 0x438960
call fcn.0040d880
push eax
push 0x11
mov ecx, 0x4393f0
call fcn.00414520
push 0x457
push 0x12
mov ecx, 0x4393f0
call fcn.00414520
push 0x8ae
push 0x13
mov ecx, 0x4393f0
call fcn.00414520
mov eax, dword [ebp - 0x384]
cmp dword [eax + 0x28f0], 2
jne 0x414951
cmp dword [0x435990], 0
jle 0x414920
jmp 0x41494f
mov ecx, dword [ebp - 0x384]
movzx edx, byte [ecx + 0x2858]
test edx, edx
je 0x414940
mov eax, dword [ebp - 0x384]
mov byte [eax + 0x2858], 0
jmp 0x41494f
mov ecx, dword [0x435b08]
push ecx
call sub.SDL2.dll_SDL_Delay
add esp, 4
jmp 0x414960
mov edx, dword [0x435b08]
push edx
call sub.SDL2.dll_SDL_Delay
add esp, 4
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 0x28e8]
add ecx, 1
mov edx, dword [ebp - 0x384]
mov dword [edx + 0x28e8], ecx
call fcn.00424050
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x388]
sub ecx, dword [eax + 0x28e0]
mov edx, dword [ebp - 0x384]
mov dword [edx + 0x28e4], ecx
mov eax, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x388]
mov dword [eax + 0x28e0], ecx
mov edx, dword [ebp - 0x384]
mov eax, dword [edx + 0x28e4]
push eax
push str.WORKER:THREAD:DEBUG:loop_ms:_u
lea ecx, [ebp - 0x100]
push ecx
call fcn.00418d50
add esp, 0xc
mov dword [ebp - 0x3d0], eax
mov edx, dword [ebp - 0x3d0]
mov dword [ebp - 0x40c], edx
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x40c]
call fcn.00404660
push eax
call fcn.004194a0
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x100]
call fcn.00406240
mov ecx, 0x4386a0
call fcn.004208f0
movzx eax, al
test eax, eax
je 0x414ab3
mov ecx, 0x4386a0
call fcn.00420940
mov ecx, dword [ebp - 0x384]
add ecx, 0x28a8
call fcn.00404660
push eax
mov ecx, dword [ebp - 0x384]
add ecx, 0x2890
call fcn.00404660
push eax
push str.GATEWAY:REV:_s_DATE:_s_n
lea ecx, [ebp - 0xe8]
push ecx
call fcn.00418d50
add esp, 0x10
mov dword [ebp - 0x408], eax
mov edx, dword [ebp - 0x408]
mov dword [ebp - 0x404], edx
mov dword [ebp - 4], 4
mov ecx, dword [ebp - 0x404]
call fcn.00404660
push eax
mov ecx, 0x4386a0
call fcn.00420d10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe8]
call fcn.00406240
call fcn.0040e7c0
mov eax, dword [ebp - 0x384]
cmp dword [eax + 0x28f0], 1
jne 0x414cb4
call fcn.00424050
add eax, dword [0x435994]
mov dword [0x439a0c], eax
mov ecx, dword [0x439a0c]
push ecx
push str.COM_REQ_OPEN:frame_error_guard_time_until:_u_n
lea edx, [ebp - 0xd0]
push edx
call fcn.00418d50
add esp, 0xc
mov dword [ebp - 0x400], eax
mov eax, dword [ebp - 0x400]
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 4], 5
mov ecx, dword [ebp - 0x3f8]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd0]
call fcn.00406240
cmp dword [0x435990], 0
jle 0x414bf7
mov ecx, dword [0x435990]
push ecx
push str..COM_d
push 0x4f
push 0x43599c
call fcn.00408fd0
add esp, 0x10
mov edx, dword [ebp - 0x388]
push edx
push 0x43599c
call fcn.0040d3e0
add esp, 8
mov ecx, dword [ebp - 0x384]
mov dword [ecx + 0x28d4], eax
mov edx, dword [ebp - 0x384]
cmp dword [edx + 0x28d4], 0
je 0x414bf2
mov ecx, dword [ebp - 0x384]
add ecx, 0x2904
call fcn.0040ccd0
push 2
mov ecx, dword [ebp - 0x384]
call fcn.00414120
mov eax, dword [ebp - 0x384]
mov dword [eax + 0x2900], 0
mov ecx, dword [ebp - 0x384]
mov dword [ecx + 0x28e4], 0
push 0x428f2e
mov ecx, 0x438980
call fcn.00406380
push 0x428f2f
mov ecx, 0x438998
call fcn.00406380
mov edx, dword [ebp - 0x384]
mov byte [edx + 0x28de], 0
jmp 0x414cb4
cmp dword [0x435990], 0
jge 0x414ca7
call fcn.0040e790
test eax, eax
jne 0x414c98
mov ecx, dword [ebp - 0x384]
add ecx, 0x2904
call fcn.0040ccd0
push 2
mov ecx, dword [ebp - 0x384]
call fcn.00414120
mov eax, dword [ebp - 0x384]
mov dword [eax + 0x2900], 0
mov ecx, dword [ebp - 0x384]
mov dword [ecx + 0x28e4], 0
push 0x428f61
mov ecx, 0x438980
call fcn.00406380
push 0x428f62
mov ecx, 0x438998
call fcn.00406380
mov edx, dword [ebp - 0x384]
mov byte [edx + 0x28de], 0
mov eax, dword [ebp - 0x384]
mov byte [eax + 0x2844], 1
push 7
push str.hello_r_n
call fcn.00415ac0
add esp, 8
jmp 0x414ca5
push 3
mov ecx, dword [ebp - 0x384]
call fcn.00414120
jmp 0x414cb4
push 3
mov ecx, dword [ebp - 0x384]
call fcn.00414120
mov ecx, dword [ebp - 0x384]
cmp dword [ecx + 0x28f0], 3
jne 0x414d5c
mov edx, dword [0x435af8]
add edx, dword [ebp - 0x388]
mov eax, dword [ebp - 0x384]
mov dword [eax + 0x28fc], edx
cmp dword [0x435990], 0
jle 0x414d20
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 0x28d4]
push edx
call fcn.0040cd40
add esp, 4
mov eax, dword [ebp - 0x384]
mov dword [eax + 0x28d4], 0
mov ecx, dword [ebp - 0x384]
add ecx, 0x2904
call fcn.0040ccd0
jmp 0x414d3f
cmp dword [0x435990], 0
jge 0x414d3f
call fcn.0040cf10
mov ecx, dword [ebp - 0x384]
add ecx, 0x2904
call fcn.0040ccd0
push 0
mov ecx, dword [ebp - 0x384]
call fcn.00414120
mov ecx, dword [ebp - 0x384]
mov dword [ecx + 0x2900], 0
mov edx, dword [ebp - 0x384]
cmp dword [edx + 0x28f0], 0
jne 0x414dc6
cmp dword [0x435af4], 0
je 0x414dc6
mov eax, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x388]
cmp ecx, dword [eax + 0x28fc]
jb 0x414dc6
mov edx, dword [0x435af8]
add edx, dword [ebp - 0x388]
mov eax, dword [ebp - 0x384]
mov dword [eax + 0x28fc], edx
cmp dword [0x435990], 0
je 0x414db6
push 1
mov ecx, dword [ebp - 0x384]
call fcn.00414120
mov ecx, dword [ebp - 0x384]
mov dword [ecx + 0x2900], 0
mov edx, dword [ebp - 0x384]
cmp dword [edx + 0x28f0], 2
je 0x414e13
mov eax, dword [ebp - 0x384]
movzx ecx, byte [eax + 0x2930]
test ecx, ecx
jne 0x414df7
mov edx, dword [ebp - 0x384]
movzx eax, byte [edx + 0x2932]
test eax, eax
je 0x414e13
push str.EXG_FIR_CAL:_ERR:_Aborted_because_COM_port_is_closed
mov ecx, 0x438c48
call fcn.0041ff00
mov ecx, dword [ebp - 0x384]
mov byte [ecx + 0x2931], 1
mov edx, dword [ebp - 0x384]
movzx eax, byte [edx + 0x2930]
test eax, eax
je 0x415108
mov ecx, dword [ebp - 0x384]
cmp dword [ecx + 0x294c], 0
jne 0x414fd8
mov edx, dword [ebp - 0x384]
mov byte [edx + 0x2932], 0
mov eax, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x388]
mov dword [eax + 0x294c], ecx
push str.EXG_FIR_CAL_setting_all_EXG_power_ON..._n
lea edx, [ebp - 0xa0]
push edx
call fcn.00418d50
add esp, 8
mov dword [ebp - 0x410], eax
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 4], 6
mov ecx, dword [ebp - 0x3f4]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00406240
push str.EXG_FIR_CAL_setting_all_EXG_IMP_OFF..._n
lea ecx, [ebp - 0xb8]
push ecx
call fcn.00418d50
add esp, 8
mov dword [ebp - 0x3f0], eax
mov edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x3ec], edx
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x3ec]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb8]
call fcn.00406240
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x440], esp
push str.MPWR11111
call fcn.00405ef0
mov ecx, 0x43858c
call fcn.00413e90
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x444], esp
push 0x42a520
call fcn.00405ef0
mov ecx, 0x43858c
call fcn.00413e90
mov eax, dword [ebp - 0x384]
mov ecx, dword [eax + 0x2950]
mov dword [ebp - 0x3a4], ecx
cvtsi2sd xmm0, dword [ebp - 0x3a4]
mov edx, dword [ebp - 0x3a4]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x42a8c0]
divsd xmm0, qword [0x42a8a8]
sub esp, 8
movsd qword [esp], xmm0
push str.EXG_FIR_CAL_waiting_for_EXG_warm_up__0.1f_s..._n
lea eax, [ebp - 0x88]
push eax
call fcn.00418d50
add esp, 0x10
mov dword [ebp - 0x43c], eax
mov ecx, dword [ebp - 0x43c]
mov dword [ebp - 0x434], ecx
mov dword [ebp - 4], 8
mov ecx, dword [ebp - 0x434]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.00406240
jmp 0x415108
mov edx, dword [ebp - 0x384]
mov eax, dword [ebp - 0x388]
sub eax, dword [edx + 0x294c]
mov ecx, dword [ebp - 0x384]
cmp eax, dword [ecx + 0x2950]
jae 0x4150cd
mov edx, dword [ebp - 0x384]
mov eax, dword [ebp - 0x388]
sub eax, dword [edx + 0x294c]
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x398]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov ecx, eax
mov eax, dword [0x438944]
xor edx, edx
mov esi, 0x3e8
div esi
cmp ecx, eax
je 0x4150cb
mov edx, dword [ebp - 0x398]
mov dword [ebp - 0x3a8], edx
cvtsi2sd xmm0, dword [ebp - 0x3a8]
mov eax, dword [ebp - 0x3a8]
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x42a8c0]
divsd xmm0, qword [0x42a8a8]
sub esp, 8
movsd qword [esp], xmm0
push str.EXG_FIR_CAL_waiting__0.1f_s..._n
lea ecx, [ebp - 0x70]
push ecx
call fcn.00418d50
add esp, 0x10
mov dword [ebp - 0x430], eax
mov edx, dword [ebp - 0x430]
mov dword [ebp - 0x42c], edx
mov dword [ebp - 4], 9
mov ecx, dword [ebp - 0x42c]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.00406240
mov eax, dword [ebp - 0x398]
mov dword [0x438944], eax
jmp 0x415108
mov ecx, dword [ebp - 0x384]
cmp dword [ecx + 0x293c], 0
jne 0x415108
mov edx, dword [ebp - 0x384]
mov byte [edx + 0x2a10], 1
mov eax, dword [ebp - 0x384]
mov byte [eax + 0x2932], 1
mov ecx, dword [ebp - 0x384]
mov edx, dword [ebp - 0x388]
mov dword [ecx + 0x293c], edx
mov eax, dword [ebp - 0x384]
movzx ecx, byte [eax + 0x2932]
test ecx, ecx
je 0x415426
mov edx, dword [ebp - 0x384]
mov eax, dword [ebp - 0x388]
sub eax, dword [edx + 0x293c]
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x384]
mov edx, dword [ebp - 0x3b0]
cmp edx, dword [ecx + 0x2948]
jae 0x415235
mov eax, dword [ebp - 0x384]
movzx ecx, byte [eax + 0x2931]
test ecx, ecx
jne 0x415235
mov edx, dword [ebp - 0x384]
mov eax, dword [edx + 0x2944]
cmp dword [ebp - 0x3b0], eax
jb 0x415230
mov ecx, dword [ebp - 0x384]
movzx edx, byte [ecx + 0x2938]
test edx, edx
jne 0x415194
mov byte [ebp - 0x389], 1
jmp 0x41519b
mov byte [ebp - 0x389], 0
mov eax, dword [ebp - 0x384]
mov cl, byte [ebp - 0x389]
mov byte [eax + 0x2938], cl
mov edx, dword [ebp - 0x384]
movzx eax, byte [edx + 0x2938]
test eax, eax
je 0x4151e6
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x448], esp
push 0x42a578
call fcn.00405ef0
mov ecx, dword [ebp - 0x384]
add ecx, 0x2904
call fcn.00413e90
jmp 0x41520c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x44c], esp
push str.DRL.DAC29360
call fcn.00405ef0
mov ecx, dword [ebp - 0x384]
add ecx, 0x2904
call fcn.00413e90
mov ecx, dword [ebp - 0x384]
mov edx, dword [ecx + 0x2944]
mov eax, dword [ebp - 0x384]
add edx, dword [eax + 0x2940]
mov ecx, dword [ebp - 0x384]
mov dword [ecx + 0x2944], edx
jmp 0x415426
mov edx, dword [ebp - 0x384]
mov byte [edx + 0x2930], 0
mov eax, dword [ebp - 0x384]
mov byte [eax + 0x2932], 0
push str.EXG_FIR_CAL:_Setting_DRL_to_0mV__DRL.DAC35913_
lea ecx, [ebp - 0x1f0]
push ecx
call fcn.00418d50
add esp, 8
mov dword [ebp - 0x428], eax
mov edx, dword [ebp - 0x428]
mov dword [ebp - 0x424], edx
mov dword [ebp - 4], 0xa
mov ecx, dword [ebp - 0x424]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f0]
call fcn.00406240
mov ecx, dword [ebp - 0x384]
add ecx, 0x2904
call fcn.0040ccd0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x468], esp
push 0x42a5c8
call fcn.00405ef0
mov ecx, dword [ebp - 0x384]
add ecx, 0x2904
call fcn.00413e90
mov ecx, dword [ebp - 0x384]
add ecx, 0x2960
call fcn.0040dd00
movzx eax, al
test eax, eax
je 0x415304
mov ecx, dword [ebp - 0x384]
add ecx, 0x2960
call fcn.0040cd00
push str.EXG_FIR_CAL:_done.
lea ecx, [ebp - 0x1d8]
push ecx
call fcn.00418d50
add esp, 8
mov dword [ebp - 0x420], eax
mov edx, dword [ebp - 0x420]
mov dword [ebp - 0x41c], edx
mov dword [ebp - 4], 0xb
mov ecx, dword [ebp - 0x41c]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1d8]
call fcn.00406240
mov ecx, 0x438960
call fcn.0040d880
sub eax, dword [0x4385bc]
mov dword [ebp - 0x3ac], eax
je 0x415426
mov eax, dword [ebp - 0x3ac]
push eax
push str.EXG_FIR_CAL:_delta_frame_errors_during_calibration:__d
lea ecx, [ebp - 0x1c0]
push ecx
call fcn.00418d50
add esp, 0xc
mov dword [ebp - 0x3fc], eax
mov edx, dword [ebp - 0x3fc]
mov dword [ebp - 0x418], edx
mov dword [ebp - 4], 0xc
mov ecx, dword [ebp - 0x418]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c0]
call fcn.00406240
push str.EXG_FIR_CAL:ERR:_calibration_data_might_be_corrupted_due_to_frame_errors.
lea eax, [ebp - 0x1a8]
push eax
call fcn.00418d50
add esp, 8
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x414]
mov dword [ebp - 0x438], ecx
mov dword [ebp - 4], 0xd
mov ecx, dword [ebp - 0x438]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a8]
call fcn.00406240
mov edx, dword [ebp - 0x384]
cmp dword [edx + 0x28f0], 2
jne 0x415447
mov eax, dword [ebp - 0x388]
push eax
mov ecx, dword [ebp - 0x384]
call fcn.0040fe00
mov ecx, dword [ebp - 0x384]
cmp dword [ecx + 0x2920], 2
jne 0x415712
mov edx, dword [ebp - 0x384]
cmp dword [edx + 0x28f0], 2
je 0x415478
push 1
push 0x42a674
call fcn.004159b0
add esp, 8
mov eax, dword [ebp - 0x384]
movzx ecx, word [eax + 0x28d0]
sub ecx, 1
push ecx
mov edx, dword [ebp - 0x384]
add edx, 8
push edx
call fcn.00413f80
add esp, 8
mov dword [ebp - 0x39c], eax
lea ecx, [ebp - 0x28]
call fcn.00406070
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x39c], 0
jle 0x41553f
mov eax, dword [ebp - 0x384]
add eax, dword [ebp - 0x39c]
mov byte [eax + 8], 0
mov ecx, dword [ebp - 0x384]
add ecx, 8
push ecx
mov edx, dword [ebp - 0x39c]
push edx
push str.BioEra:CMD:length_d___s
lea eax, [ebp - 0x190]
push eax
call fcn.00418d50
add esp, 0x10
mov dword [ebp - 0x3d4], eax
mov ecx, dword [ebp - 0x3d4]
mov dword [ebp - 0x3d8], ecx
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x3d8]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x190]
call fcn.00406240
mov edx, dword [ebp - 0x384]
add edx, 8
push edx
lea ecx, [ebp - 0x28]
call fcn.0040c870
lea ecx, [ebp - 0x28]
call fcn.00405170
test eax, eax
je 0x415703
lea ecx, [ebp - 0x58]
call fcn.00406070
mov byte [ebp - 4], 0x10
push 0
push 0x42a694
lea ecx, [ebp - 0x28]
call fcn.0040d340
mov dword [ebp - 0x390], eax
cmp dword [ebp - 0x390], 0xffffffff
je 0x415668
mov eax, dword [ebp - 0x390]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040c9b0
movsx ecx, byte [eax]
cmp ecx, 0x5c
jne 0x415620
lea ecx, [ebp - 0x28]
call fcn.00405170
cmp eax, dword [ebp - 0x390]
jbe 0x41561e
mov edx, dword [ebp - 0x390]
add edx, 1
push edx
lea ecx, [ebp - 0x28]
call fcn.0040c9b0
movsx eax, byte [eax]
cmp eax, 0x6e
je 0x4155dc
mov ecx, dword [ebp - 0x390]
add ecx, 1
push ecx
lea ecx, [ebp - 0x28]
call fcn.0040c9b0
movsx edx, byte [eax]
cmp edx, 0x72
jne 0x4155fe
push str.fake__n_or__r
mov ecx, 0x438c48
call fcn.0041ff00
push 2
mov eax, dword [ebp - 0x390]
push eax
lea ecx, [ebp - 0x28]
call fcn.00406cf0
jmp 0x41561e
push str.incomplete_fake__n_or__r
mov ecx, 0x438c48
call fcn.0041ff00
push 1
mov ecx, dword [ebp - 0x390]
push ecx
lea ecx, [ebp - 0x28]
call fcn.00406cf0
jmp 0x415640
push str.real__n_or__r
mov ecx, 0x438c48
call fcn.0041ff00
push 1
mov edx, dword [ebp - 0x390]
push edx
lea ecx, [ebp - 0x28]
call fcn.00406cf0
mov eax, dword [ebp - 0x390]
push eax
push 0
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x58]
call fcn.0040c780
mov edx, dword [ebp - 0x390]
push edx
push 0
lea ecx, [ebp - 0x28]
call fcn.00406cf0
jmp 0x41567c
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.0040c750
lea ecx, [ebp - 0x28]
call fcn.0040cbf0
push 0x42a6d4
lea ecx, [ebp - 0x58]
call fcn.0040c870
push 0x42a6d8
push 3
push 0
lea ecx, [ebp - 0x58]
call fcn.0040cf30
test eax, eax
jne 0x4156cd
push str.got_bioera_cmd_for_gateway
mov ecx, 0x438c48
call fcn.0041ff00
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x450], esp
lea edx, [ebp - 0x58]
push edx
call fcn.00405e60
mov ecx, 0x438bb0
call fcn.0041a510
jmp 0x4156f2
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x454], esp
lea eax, [ebp - 0x58]
push eax
call fcn.00405e60
mov ecx, dword [ebp - 0x384]
add ecx, 0x2904
call fcn.00413e90
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x58]
call fcn.00406240
jmp 0x41553f
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00406240
mov ecx, dword [ebp - 0x384]
cmp dword [ecx + 0x2920], 0
jne 0x4157cb
cmp dword [0x435b70], 0
je 0x4157cb
mov edx, dword [ebp - 0x384]
mov eax, dword [ebp - 0x388]
cmp eax, dword [edx + 0x2924]
jb 0x4157cb
mov ecx, dword [0x435b70]
push ecx
push str.bioera_auto_connect_d
lea edx, [ebp - 0x178]
push edx
call fcn.00418d50
add esp, 0xc
mov dword [ebp - 0x3dc], eax
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 4], 0x11
mov ecx, dword [ebp - 0x3e0]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x178]
call fcn.00406240
push 1
mov ecx, dword [ebp - 0x384]
call fcn.00414420
mov ecx, dword [0x435b74]
add ecx, dword [ebp - 0x388]
mov edx, dword [ebp - 0x384]
mov dword [edx + 0x2924], ecx
mov eax, dword [ebp - 0x384]
cmp dword [eax + 0x2920], 1
jne 0x415805
call fcn.0040def0
cmp eax, 0xffffffff
je 0x4157f3
push 2
mov ecx, dword [ebp - 0x384]
call fcn.00414420
jmp 0x415805
call fcn.0040ced0
push 0
mov ecx, dword [ebp - 0x384]
call fcn.00414420
mov ecx, dword [ebp - 0x384]
cmp dword [ecx + 0x2920], 3
jne 0x41583e
call fcn.0040ced0
push 0
mov ecx, dword [ebp - 0x384]
call fcn.00414420
mov edx, dword [0x435b74]
add edx, dword [ebp - 0x388]
mov eax, dword [ebp - 0x384]
mov dword [eax + 0x2924], edx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x458], esp
push ecx
mov ecx, 0x4386a0
call fcn.00420b00
lea ecx, [ebp - 0x40]
call fcn.00406010
mov dword [ebp - 0x45c], eax
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x40]
call fcn.00405170
test eax, eax
jbe 0x415974
lea ecx, [ebp - 0x40]
call fcn.00404660
push eax
push str.got_cmd_over_pipe:_s
lea edx, [ebp - 0x160]
push edx
call fcn.00418d50
add esp, 0xc
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x3e8], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x3e8]
call fcn.00404660
push eax
mov ecx, 0x438c48
call fcn.0041ff00
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x160]
call fcn.00406240
push 0x42a728
push 3
push 0
lea ecx, [ebp - 0x40]
call fcn.0040cf30
test eax, eax
jne 0x415915
push str.got_GUI_cmd_over_pipe_for_gateway
mov ecx, 0x438c48
call fcn.0041ff00
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x464], esp
lea edx, [ebp - 0x40]
push edx
call fcn.00405e60
mov ecx, 0x438bb0
call fcn.0041a510
jmp 0x415974
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x46c], esp
push str.CMD:
call fcn.00405ef0
lea ecx, [ebp - 0x40]
call fcn.00418ec0
mov byte [ebp - 0x391], al
movzx eax, byte [ebp - 0x391]
test eax, eax
je 0x415974
lea ecx, [ebp - 0x40]
call fcn.00405170
test eax, eax
jbe 0x415974
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x460], esp
lea edx, [ebp - 0x40]
push edx
call fcn.00405e60
mov ecx, dword [ebp - 0x384]
add ecx, 0x2904
call fcn.00413e90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.00406240
jmp 0x4148a1
call sub.WS2_32.dll_WSACleanup
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00424a63
mov esp, ebp
pop ebp
ret 4