Function at 0x40c903
Capabilities:
Connect socket
Execute command
Initialize winsock library
Inspect section memory permissions
Resolve dns
Set socket configuration
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1b4
mov eax, dword [0x41b004]
xor eax, esp
mov dword [esp + 0x1b0], eax
xor eax, eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
mov dword [esp + 8], eax
inc eax
mov dword [esp + 0x1c], esi
push edi
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
cmp ebx, eax
jle 0x40cbbf
mov ebx, eax
push dword [esi + ebx*4]
push 0x4180bc
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40c959
inc eax
mov dword [0x4789ec], eax
jmp 0x40c9c5
push dword [esi + ebx*4]
push 0x4180c4
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40c971
inc eax
mov dword [0x47943c], eax
jmp 0x40c9c5
push dword [esi + ebx*4]
push 0x4180cc
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40cc85
mov eax, dword [0x474b84]
or dword [0x474b80], 0x1000000
mov dword [0x474b84], eax
mov eax, dword [ebp + 8]
dec eax
cmp ebx, eax
je 0x40cc78
mov eax, dword [esi + ebx*4 + 4]
mov al, byte [eax]
cmp al, 0x2d
je 0x40cc78
cmp al, 0x31
je 0x40cc78
and dword [0x474c10], 0
xor eax, eax
inc eax
inc ebx
cmp ebx, dword [ebp + 8]
jl 0x40c941
mov ebx, eax
push dword [esi + ebx*4]
push 0x418144
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40c9ed
and dword [0x456d08], eax
inc eax
mov dword [0x4799e8], eax
cmp dword [0x479004], 0
je 0x40ca0c
push dword [esi + ebx*4]
push 0x41814c
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40ca0c
and dword [0x456d08], eax
push dword [esi + ebx*4]
push 0x418158
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40ca84
mov edx, dword [esi + ebx*4 + 4]
xor ecx, ecx
mov al, byte [edx]
test al, al
je 0x40ca4e
cmp al, 0x22
je 0x40ca37
cmp al, 0x27
je 0x40ca37
mov byte [ecx + 0x470a68], al
inc ecx
add edx, 1
je 0x40ca42
mov al, byte [edx]
test al, al
jne 0x40ca28
cmp ecx, 0x100
jae 0x410768
and dword [0x456d08], 0
mov byte [ecx + 0x470a68], 0
mov dword [0x478bf0], 0x40000000
mov dword [0x478bf4], 0x10000000
mov dword [0x479410], 0x1000
mov dword [0x479414], 0x400
push dword [esi + ebx*4]
push 0x418160
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40cac2
inc eax
mov dword [0x478bf0], 0x40000000
mov dword [0x4787a8], eax
mov dword [0x478bf4], 0x10000000
mov dword [0x479410], 0x1000
mov dword [0x479414], 0x10
push dword [esi + ebx*4]
push 0x418170
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40cb3a
mov edx, dword [esi + ebx*4 + 4]
xor ecx, ecx
mov al, byte [edx]
test al, al
je 0x40cb04
cmp al, 0x22
je 0x40caed
cmp al, 0x27
je 0x40caed
mov byte [ecx + 0x470a68], al
inc ecx
add edx, 1
je 0x40caf8
mov al, byte [edx]
test al, al
jne 0x40cade
cmp ecx, 0x100
jae 0x410768
and dword [0x456d08], 0
mov byte [ecx + 0x470a68], 0
mov dword [0x478bf0], 0x40000000
mov dword [0x478bf4], 0x10000000
mov dword [0x479410], 0x1000
mov dword [0x479414], 0x80
push dword [esi + ebx*4]
push 0x41817c
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40cbb2
mov edx, dword [esi + ebx*4 + 4]
xor ecx, ecx
mov al, byte [edx]
test al, al
je 0x40cb7c
cmp al, 0x22
je 0x40cb65
cmp al, 0x27
je 0x40cb65
mov byte [ecx + 0x470a68], al
inc ecx
add edx, 1
je 0x40cb70
mov al, byte [edx]
test al, al
jne 0x40cb56
cmp ecx, 0x100
jae 0x410768
and dword [0x456d08], 0
mov byte [ecx + 0x470a68], 0
mov dword [0x478bf0], 0x40000000
mov dword [0x478bf4], 0x10000000
mov dword [0x479410], 0x1000
mov dword [0x479414], 0x100
inc ebx
cmp ebx, dword [ebp + 8]
jl 0x40c9d1
mov ebx, dword [ebp + 8]
push 0xe
pop edx
mov ecx, 0x418188
call fcn.00402d26
cmp dword [0x4787e4], 0
mov edx, 0x414158
push 0x4181ac
mov ecx, 0x4181cc
mov eax, 0x4181c4
cmove ecx, edx
cmp dword [0x474c3c], 0
push 0x4181c0
cmove eax, ecx
cmp dword [0x479004], 0
push eax
mov eax, 0x4181e0
push 0x4181d8
cmove eax, edx
push eax
push 0x4181e8
call fcn.00401006
push 0x418230
push 0x418254
push 0x41826c
push 0x418278
call fcn.00401006
add esp, 0x28
call fcn.0040c52f
test eax, eax
jne 0x40cde1
push 0xc
pop edx
mov ecx, 0x4182c0
call fcn.00402d26
push 0xc
pop edx
mov ecx, 0x418340
call fcn.00402d26
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push 0x41838c
call esi
mov dword [esp], 0x418394
call esi
pop ecx
jmp 0x40cdcc
xor eax, eax
inc eax
mov dword [0x474c10], eax
jmp 0x40c9c5
push dword [esi + ebx*4]
push 0x4180dc
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40cca0
inc eax
mov dword [0x478654], eax
jmp 0x40c9c5
push dword [esi + ebx*4]
push 0x4180e8
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40ccbb
inc eax
mov dword [0x47658c], eax
jmp 0x40c9c5
push dword [esi + ebx*4]
push 0x4180f0
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40ccd6
inc eax
mov dword [0x476354], eax
jmp 0x40c9c5
push dword [esi + ebx*4]
push 0x4180fc
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40cd29
mov edx, dword [esi + ebx*4 + 4]
mov al, byte [edx]
cmp al, 0x2d
je 0x40c9c2
xor ecx, ecx
test al, al
je 0x40cd1d
cmp al, 0x22
je 0x40cd09
cmp al, 0x27
je 0x40cd09
mov byte [ecx + 0x476598], al
inc ecx
add edx, 1
je 0x40cd14
mov al, byte [edx]
test al, al
jne 0x40ccfa
cmp ecx, 0x40
jae 0x410768
mov byte [ecx + 0x476598], 0
jmp 0x40c9c2
push dword [esi + ebx*4]
push 0x418104
call edi
pop ecx
pop ecx
test eax, eax
je 0x40cdd4
push dword [esi + ebx*4]
push 0x418110
call edi
pop ecx
pop ecx
test eax, eax
je 0x40cdd4
push dword [esi + ebx*4]
push 0x418114
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40c9c2
mov edx, dword [esi + ebx*4 + 4]
xor ecx, ecx
mov al, byte [edx]
test al, al
je 0x40cd93
cmp al, 0x22
je 0x40cd7c
mov byte [ecx + 0x470960], al
inc ecx
add edx, 1
je 0x40cd87
mov al, byte [edx]
test al, al
jne 0x40cd71
cmp ecx, 0x104
jae 0x410768
push 0x418118
push 0x470960
push 0x470958
mov byte [ecx + 0x470960], 0
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
add esp, 0xc
cmp dword [0x470958], 0
jne 0x40c9c2
push 0xc
pop edx
mov ecx, 0x41811c
call fcn.00402d26
push 0xffffffffffffffff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
xor eax, eax
inc eax
mov dword [0x476350], eax
jmp 0x40c9c5
cmp ebx, 2
jne 0x40cdf9
cmp dword [0x4789ec], 0
je 0x40ce00
call fcn.00401207
jmp 0x40e047
xor eax, eax
inc eax
cmp ebx, eax
jle 0x40ce0b
push ecx
mov edx, esi
mov ecx, ebx
call fcn.0040c765
pop ecx
push 0x4000
push 0
push 0x470b68
call sub.VCRUNTIME140.dll_memset
xor eax, eax
add esp, 0xc
inc eax
cmp ebx, eax
jle 0x40d56f
mov ebx, eax
push dword [esi + ebx*4]
push 0x41839c
call edi
pop ecx
pop ecx
test eax, eax
je 0x40cdef
push dword [esi + ebx*4]
push 0x4183a0
call edi
pop ecx
pop ecx
test eax, eax
je 0x40cdef
push dword [esi + ebx*4]
push 0x4183a4
call edi
pop ecx
pop ecx
test eax, eax
je 0x40cdef
push dword [esi + ebx*4]
push 0x4183ac
call edi
pop ecx
pop ecx
test eax, eax
je 0x40ce7c
push dword [esi + ebx*4]
push 0x4183b0
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40cea7
mov ecx, dword [esi + ebx*4 + 4]
cmp byte [ecx], 0x2d
je 0x40cea7
mov edx, 0x42dae8
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40ce8a
xor eax, eax
inc eax
or dword [0x474b80], eax
mov eax, dword [0x474b84]
mov dword [0x474b84], eax
push dword [esi + ebx*4]
push 0x4183bc
call edi
pop ecx
pop ecx
test eax, eax
je 0x40cec7
push dword [esi + ebx*4]
push 0x4183c0
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40cef8
mov ecx, dword [esi + ebx*4 + 4]
cmp byte [ecx], 0x2d
je 0x40cef8
mov edx, 0x43af54
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40ced5
mov eax, dword [0x474b84]
or dword [0x474b80], 2
mov dword [0x474b84], eax
xor eax, eax
inc eax
mov dword [0x479000], eax
push dword [esi + ebx*4]
push 0x4183cc
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40cf37
mov eax, dword [esi + ebx*4 + 4]
cmp byte [eax], 0x2d
je 0x40cf37
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.00401d3c
or dword [0x474b80], 0x100000
mov dword [0x4373b0], eax
mov eax, dword [0x474b84]
mov dword [0x474b84], eax
push dword [esi + ebx*4]
push 0x4183d4
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40cf76
mov eax, dword [esi + ebx*4 + 4]
cmp byte [eax], 0x2d
je 0x40cf76
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.00401d3c
or dword [0x474b80], 0x200000
mov dword [0x468918], eax
mov eax, dword [0x474b84]
mov dword [0x474b84], eax
push dword [esi + ebx*4]
push 0x4180e8
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40cfae
mov eax, dword [esi + ebx*4 + 4]
cmp byte [eax], 0x2d
je 0x40d034
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.00401d3c
or dword [0x474b80], 4
mov dword [0x451168], eax
jmp 0x40d020
cmp dword [0x47658c], 0
jne 0x40d034
push dword [esi + ebx*4]
push 0x4183e0
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40cff3
mov eax, dword [esi + ebx*4 + 4]
cmp byte [eax], 0x2d
je 0x40cff3
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.00401d3c
or dword [0x474b80], 0x10
mov dword [0x451168], eax
mov eax, dword [0x474b84]
mov dword [0x474b84], eax
push dword [esi + ebx*4]
push 0x4183e8
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d034
mov eax, dword [esi + ebx*4 + 4]
cmp byte [eax], 0x2d
je 0x40d034
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.00401d3c
or dword [0x474b80], 0x20
mov dword [0x4705e0], eax
mov dword [0x425260], eax
mov eax, dword [0x474b84]
mov dword [0x474b84], eax
push dword [esi + ebx*4]
push 0x4183f4
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d073
mov eax, dword [esi + ebx*4 + 4]
cmp byte [eax], 0x2d
je 0x40d073
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.00401d3c
or dword [0x474b80], 0x400000
mov dword [0x46cab8], eax
mov eax, dword [0x474b84]
mov dword [0x474b84], eax
push dword [esi + ebx*4]
push 0x418400
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d0b2
mov eax, dword [esi + ebx*4 + 4]
cmp byte [eax], 0x2d
je 0x40d0b2
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.00401d3c
or dword [0x474b80], 0x800000
mov dword [0x44cb60], eax
mov eax, dword [0x474b84]
mov dword [0x474b84], eax
push dword [esi + ebx*4]
push 0x4180f0
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d0ea
mov eax, dword [esi + ebx*4 + 4]
cmp byte [eax], 0x2d
je 0x40d177
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.00401d3c
or dword [0x474b80], 8
mov dword [0x4705e4], eax
jmp 0x40d163
cmp dword [0x476354], 0
jne 0x40d177
push dword [esi + ebx*4]
push 0x418410
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d133
mov eax, dword [esi + ebx*4 + 4]
cmp byte [eax], 0x2d
je 0x40d133
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.00401d3c
or dword [0x474b80], 0x40
mov dword [0x4705e4], eax
mov eax, dword [0x474b84]
mov dword [0x474b84], eax
push dword [esi + ebx*4]
push 0x41841c
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d177
mov eax, dword [esi + ebx*4 + 4]
cmp byte [eax], 0x2d
je 0x40d177
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.00401d3c
or dword [0x474b80], 0x80
mov dword [0x433000], eax
mov dword [0x43af50], eax
mov eax, dword [0x474b84]
mov dword [0x474b84], eax
push dword [esi + ebx*4]
push 0x41842c
call edi
pop ecx
pop ecx
test eax, eax
je 0x40d197
push dword [esi + ebx*4]
push 0x418434
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d1b3
xor eax, eax
inc eax
or dword [0x474b80], 0x100
mov dword [0x47095c], eax
mov eax, dword [0x474b84]
mov dword [0x474b84], eax
push dword [esi + ebx*4]
push 0x418440
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d1d9
mov eax, dword [esi + ebx*4 + 4]
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.00401d3c
mov dword [0x474b78], eax
push dword [esi + ebx*4]
push 0x418448
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d20b
mov ecx, 0x10000
call fcn.00401e3c
test eax, eax
jne 0x40d20b
mov eax, dword [0x474b84]
or dword [0x474b80], 0x8000
mov dword [0x474b84], eax
push dword [esi + ebx*4]
push 0x418454
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d22f
mov eax, dword [0x474b84]
or dword [0x474b80], 0x2000
mov dword [0x474b84], eax
push dword [esi + ebx*4]
push 0x41845c
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d269
mov ecx, dword [0x474b80]
mov eax, dword [0x474b84]
and ecx, 0xffff7fff
mov edx, dword [esi + ebx*4]
or ecx, 0x10000
mov dword [0x474b80], ecx
mov dword [0x474b84], eax
call fcn.0040c7f7
push dword [esi + ebx*4]
push 0x418464
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d2c7
mov eax, dword [esi + ebx*4 + 4]
mov dword [esp + 0x10], eax
cmp byte [eax], 0x2d
je 0x40d2c7
mov eax, 0x43cc70
jmp 0x40d2ae
mov eax, dword [esp + 0x18]
push dword [esp + 0x10]
add eax, 8
push eax
call edi
pop ecx
pop ecx
test eax, eax
je 0x40d4b4
mov eax, dword [esp + 0x18]
add eax, 0x388
push 0x414128
push eax
mov dword [esp + 0x20], eax
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d28d
and dword [0x476148], 0
push dword [esi + ebx*4]
push 0x41846c
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d313
mov eax, dword [0x474b84]
or dword [0x474b80], 0x42000
mov dword [0x474b84], eax
mov dword [0x479410], 0x1000
mov dword [0x479414], 0x20
mov dword [0x478bf0], 0x40000000
mov dword [0x478bf4], 0x10000000
push dword [esi + ebx*4]
push 0x418474
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d361
mov eax, dword [0x474b84]
or dword [0x474b80], 0x42000
and dword [0x456d08], 0
mov dword [0x474b84], eax
mov eax, 0x1000
mov dword [0x479410], eax
mov dword [0x479414], eax
mov dword [0x478bf0], 0x40000000
mov dword [0x478bf4], 0x10000000
push dword [esi + ebx*4]
push 0x418480
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d3ad
mov eax, dword [0x474b84]
or dword [0x474b80], 0x42000
mov dword [0x474b84], eax
mov dword [0x479410], 0x1000
mov dword [0x479414], 0x200
mov dword [0x478bf0], 0x40000000
mov dword [0x478bf4], 0x10000000
push dword [esi + ebx*4]
push 0x418144
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d400
mov eax, dword [0x474b84]
or dword [0x474b80], 0x42000
or dword [0x479410], 0x1000
or dword [0x478bf0], 0x40000000
or dword [0x478bf4], 0x10000000
and dword [0x456d08], 0
mov dword [0x474b84], eax
mov eax, dword [0x479414]
mov dword [0x479414], eax
cmp dword [0x479004], 0
je 0x40d45a
push dword [esi + ebx*4]
push 0x41814c
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d45a
cmp dword [0x47943c], eax
je 0x40d45a
or dword [0x474b80], 0x42000
mov eax, dword [0x474b84]
and dword [0x479414], 0
mov dword [0x474b84], eax
mov dword [0x479410], 0x1000
mov dword [0x478bf0], 0x40000000
mov dword [0x478bf4], 0x10000000
push dword [esi + ebx*4]
push 0x4180c4
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d505
mov dword [0x479410], 0x1000
mov dword [0x479414], 2
mov dword [0x478bf4], 0x10000000
cmp dword [0x456d08], eax
jne 0x40d4f3
mov eax, dword [0x474b84]
or dword [0x474b80], 0x42000
mov dword [0x474b84], eax
mov dword [0x478bf0], 0x40000000
jmp 0x40d505
mov ecx, dword [esp + 0x18]
mov dword [0x476148], ecx
test ecx, ecx
je 0x40d2c7
or dword [0x474b80], 0x20200
add ecx, 8
mov eax, dword [0x474b84]
mov edx, 0x474bd0
mov dword [0x474b84], eax
sub edx, ecx
mov al, byte [ecx]
mov byte [ecx + edx], al
inc ecx
test al, al
jne 0x40d4e4
jmp 0x40d2c7
xor eax, eax
mov dword [0x478bf0], 0x80000
inc eax
mov dword [0x456d08], eax
push dword [esi + ebx*4]
push 0x418488
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d51d
inc eax
mov dword [0x46ccf0], eax
jmp 0x40d533
push dword [esi + ebx*4]
push 0x418490
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d562
and dword [0x46ccf0], eax
and dword [0x456d08], 0
mov dword [0x478bf4], 0x10000000
mov dword [0x478bf0], 0x40000000
mov dword [0x479414], 8
mov dword [0x479410], 0x1000
inc ebx
cmp ebx, dword [ebp + 8]
jl 0x40ce2c
mov ebx, dword [ebp + 8]
call fcn.0040b010
mov ecx, 0x474bd0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d57c
sub ecx, edx
jne 0x40d59b
mov eax, dword [0x474b84]
or dword [0x474b80], 0x200
mov dword [0x474b84], eax
call fcn.004018a6
xor eax, eax
inc eax
cmp ebx, eax
jle 0x40cdef
mov ebx, eax
mov dword [esp + 0x18], eax
push dword [esi + ebx*4]
push 0x418498
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e5ed
push dword [esi + ebx*4]
push 0x4184a0
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e5e1
push dword [esi + ebx*4]
push 0x4184a8
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e5a9
push dword [esi + ebx*4]
push 0x4184b0
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e447
push dword [esi + ebx*4]
push 0x4184b4
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e447
push dword [esi + ebx*4]
push 0x418654
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e43b
push dword [esi + ebx*4]
push 0x41865c
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e40e
push dword [esi + ebx*4]
push 0x418668
call edi
pop ecx
pop ecx
test eax, eax
je 0x40d65d
push dword [esi + ebx*4]
push 0x418670
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d692
or dword [0x478bf4], 0x10000000
cmp dword [0x456d08], 0
mov eax, dword [0x478bf0]
mov dword [0x478bf0], eax
jne 0x40e20b
mov eax, dword [0x479414]
or dword [0x479410], 0x200000
mov dword [0x479414], eax
push dword [esi + ebx*4]
push 0x41889c
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e1b7
push dword [esi + ebx*4]
push 0x4188a4
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e1b7
push dword [esi + ebx*4]
push 0x4188dc
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e1a8
push dword [esi + ebx*4]
push 0x4188e4
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e18f
push dword [esi + ebx*4]
push 0x4188ec
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e157
push dword [esi + ebx*4]
push 0x4188f8
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e096
push dword [esi + ebx*4]
push 0x418900
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e096
push dword [esi + ebx*4]
push 0x418914
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e087
push dword [esi + ebx*4]
push 0x418920
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e087
push dword [esi + ebx*4]
push 0x418938
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e078
push dword [esi + ebx*4]
push 0x418944
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e04e
push dword [esi + ebx*4]
push 0x41894c
call edi
pop ecx
pop ecx
test eax, eax
je 0x40e04e
push dword [esi + ebx*4]
push 0x41895c
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dfbe
push dword [esi + ebx*4]
push 0x418964
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dfbe
push dword [esi + ebx*4]
push 0x4189dc
call edi
pop ecx
pop ecx
test eax, eax
je 0x40df7d
push dword [esi + ebx*4]
push 0x4189e4
call edi
pop ecx
pop ecx
test eax, eax
je 0x40df7d
push dword [esi + ebx*4]
push 0x418a2c
call edi
pop ecx
pop ecx
test eax, eax
je 0x40df3b
push dword [esi + ebx*4]
push 0x418a34
call edi
pop ecx
pop ecx
test eax, eax
je 0x40df3b
push dword [esi + ebx*4]
push 0x418a3c
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40d8aa
mov ecx, dword [esi + ebx*4 + 4]
mov al, byte [ecx]
cmp al, 0x2d
je 0x40dba0
mov edx, 0x478658
mov dword [esp + 0x14], edx
jmp 0x40d86a
mov dl, al
cmp al, 0x22
jne 0x40d830
mov dl, byte [ecx + 1]
lea edi, [ecx + 1]
mov eax, edi
mov dword [esp + 0x18], edi
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
cmovne eax, ecx
mov dword [esp + 0x18], eax
cmp dl, 0xd
je 0x40d870
cmp dl, 0xa
je 0x40d870
test dl, dl
je 0x40d870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov byte [eax], dl
inc eax
mov dword [esp + 0x14], eax
add ecx, 1
je 0x40d877
mov al, byte [ecx]
test al, al
jne 0x40d827
jmp 0x40d877
mov edx, dword [esp + 0x14]
mov byte [edx], 0
or dword [0x479410], 0x1000
xor eax, eax
inc eax
mov dword [0x478bf4], 0x10000000
or dword [0x479414], 4
mov edx, 0x80000
mov dword [0x456d08], eax
mov dword [0x478bf0], edx
jmp 0x40db8d
push dword [esi + ebx*4]
push 0x418a80
call edi
pop ecx
pop ecx
test eax, eax
je 0x40df2c
push dword [esi + ebx*4]
push 0x418a88
call edi
pop ecx
pop ecx
test eax, eax
je 0x40df2c
push dword [esi + ebx*4]
push 0x418aa0
call edi
pop ecx
pop ecx
test eax, eax
je 0x40df1d
push dword [esi + ebx*4]
push 0x418aa4
call edi
pop ecx
pop ecx
test eax, eax
je 0x40df1d
push dword [esi + ebx*4]
push 0x418ab0
call edi
pop ecx
pop ecx
test eax, eax
je 0x40defb
push dword [esi + ebx*4]
push 0x418ab8
call edi
pop ecx
pop ecx
test eax, eax
je 0x40defb
push dword [esi + ebx*4]
push 0x418acc
call edi
pop ecx
pop ecx
test eax, eax
je 0x40deec
push dword [esi + ebx*4]
push 0x418ad0
call edi
pop ecx
pop ecx
test eax, eax
je 0x40deec
push dword [esi + ebx*4]
push 0x418adc
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dec5
push dword [esi + ebx*4]
push 0x418ae4
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dec5
push dword [esi + ebx*4]
push 0x418af0
call edi
pop ecx
pop ecx
test eax, eax
je 0x40de75
push dword [esi + ebx*4]
push 0x418af8
call edi
pop ecx
pop ecx
test eax, eax
je 0x40de75
push dword [esi + ebx*4]
push 0x418b04
call edi
pop ecx
pop ecx
test eax, eax
je 0x40de4c
push dword [esi + ebx*4]
push 0x418b0c
call edi
pop ecx
pop ecx
test eax, eax
je 0x40de4c
push dword [esi + ebx*4]
push 0x418b20
call edi
pop ecx
pop ecx
test eax, eax
je 0x40de14
push dword [esi + ebx*4]
push 0x418b24
call edi
pop ecx
pop ecx
test eax, eax
je 0x40de14
push dword [esi + ebx*4]
push 0x418b2c
call edi
pop ecx
pop ecx
test eax, eax
je 0x40ddd5
push dword [esi + ebx*4]
push 0x418b30
call edi
pop ecx
pop ecx
test eax, eax
je 0x40ddd5
push dword [esi + ebx*4]
push 0x418b40
call edi
pop ecx
pop ecx
test eax, eax
je 0x40ddc6
push dword [esi + ebx*4]
push 0x418b4c
call edi
pop ecx
pop ecx
test eax, eax
je 0x40ddc6
push dword [esi + ebx*4]
push 0x418b60
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dd7c
push dword [esi + ebx*4]
push 0x418b64
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dd7c
push dword [esi + ebx*4]
push 0x418b8c
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dd6d
push dword [esi + ebx*4]
push 0x418b94
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dd6d
push dword [esi + ebx*4]
push 0x418bac
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dd50
push dword [esi + ebx*4]
push 0x418bb0
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dd50
push dword [esi + ebx*4]
push 0x418bc4
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dd31
push dword [esi + ebx*4]
push 0x418bc8
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dd31
push dword [esi + ebx*4]
push 0x418bd8
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dcf7
push dword [esi + ebx*4]
push 0x418bdc
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dcf7
push dword [esi + ebx*4]
push 0x418bf0
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dcbb
push dword [esi + ebx*4]
push 0x418bf8
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dcbb
push dword [esi + ebx*4]
push 0x418c0c
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dca8
push dword [esi + ebx*4]
push 0x418c10
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dca8
push dword [esi + ebx*4]
push 0x41845c
call edi
mov edx, dword [esi + ebx*4]
pop ecx
pop ecx
test eax, eax
je 0x40dc81
push edx
push 0x418c1c
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dbad
push dword [esi + ebx*4]
push 0x418c20
call edi
pop ecx
pop ecx
test eax, eax
je 0x40dbad
mov edx, dword [0x478bf0]
inc ebx
mov dword [esp + 0x18], ebx
cmp ebx, dword [ebp + 8]
jl 0x40d5b1
jmp 0x40e621
push 0xc
pop edx
mov ecx, 0x418a48
jmp 0x40cdc7
and dword [0x478bf4], 0
xor eax, eax
and dword [esp + 0x14], 0
mov edi, 0x4789f0
push 0x414448
push edi
mov dword [0x478bf0], 0x80008
mov dword [esp + 0x24], eax
call fcn.00401034
mov edx, dword [esi + ebx*4 + 4]
pop ecx
pop ecx
mov ecx, edi
mov dword [esp + 0x10], edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40dbe8
mov dl, byte [edx]
sub ecx, edi
lea ecx, [ecx + 0x4789f0]
test dl, dl
je 0x40dc69
mov edi, dword [0x47930c]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
cmp dl, 0x2c
jne 0x40dc3e
test ebx, ebx
jne 0x40dc21
mov byte [ecx], dl
inc ecx
xor eax, eax
mov byte [ecx], 0x22
lea ebx, [eax + 1]
jmp 0x40dc55
cmp dword [esp + 0x1c], 0
jne 0x40dc39
mov byte [ecx], 0x22
inc ecx
mov al, byte [esi]
mov byte [ecx], al
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
jmp 0x40dc55
mov byte [ecx], 0x2c
jmp 0x40dc55
test ebx, ebx
jne 0x40dc53
add edi, 0xfffffffd
movsx eax, dl
shl edi, 4
add edi, eax
mov dword [0x47930c], edi
mov byte [ecx], dl
inc ecx
add esi, 1
je 0x40dc61
mov dl, byte [esi]
test dl, dl
jne 0x40dc0b
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov word [ecx], 0xd
mov edx, dword [esi + ebx*4]
call fcn.0040c7f7
mov edx, dword [0x478bf0]
jmp 0x40e621
and dword [0x479414], 0
mov dword [0x478bf0], 0x80000
mov dword [0x478bf4], 0x10000000
mov dword [0x479410], 0x40000
jmp 0x40dc71
mov dword [0x478bf0], 0x80020
and dword [0x478bf4], 0
jmp 0x40dc6e
mov ecx, dword [esi + ebx*4 + 4]
mov edx, 0x479310
mov edi, edx
mov al, byte [ecx]
inc ecx
mov byte [edi], al
inc edi
test al, al
jne 0x40dcc6
mov al, byte [0x479310]
jmp 0x40dce7
mov cl, al
call fcn.0040c522
mov byte [edx], al
add edx, 1
je 0x40dceb
mov al, byte [edx]
test al, al
jne 0x40dcd7
mov dword [0x478bf0], 0x20280000
jmp 0x40dcb2
cmp dword [0x456d08], 0
je 0x40dd0c
mov dword [0x478bf0], 0x10080000
jmp 0x40dcb2
mov edx, 0x50000000
and dword [0x479414], 0
mov dword [0x479410], 0x80001000
mov dword [0x478bf4], 0x10000000
jmp 0x40e61b
cmp dword [0x456d08], 0
je 0x40dd49
mov dword [0x478bf0], 0x8080000
jmp 0x40dcb2
mov edx, 0x48000000
jmp 0x40dd11
xor eax, eax
mov edx, section..reloc_1
cmp dword [0x456d08], eax
jne 0x40e616
mov edx, 0x40400000
jmp 0x40e616
mov dword [0x478bf0], 0x180000
jmp 0x40dcb2
lea ecx, [esi + 4]
xor eax, eax
lea ecx, [ecx + ebx*4]
cmp dword [ecx], eax
je 0x40dd9c
inc eax
mov edx, 0x46ccf4
push eax
call fcn.00401fe7
mov eax, dword [0x46ccf4]
pop ecx
jmp 0x40dda1
mov dword [0x46ccf4], eax
cmp dword [0x479004], 0
je 0x40ddb7
push eax
push 0x418b74
call fcn.00401006
pop ecx
pop ecx
mov dword [0x478bf0], 0x80010
jmp 0x40dcb2
mov dword [0x479410], 0x1100
jmp 0x40e5f7
and dword [0x479414], 0
mov eax, 0x10000000
cmp dword [0x456d08], 0
mov dword [0x479410], 8
je 0x40ddfe
mov edx, 0xc0000
jmp 0x40e616
mov dword [0x479410], 0x1001000
and dword [0x479414], 0
jmp 0x40e611
cmp dword [0x456d08], 0
je 0x40de29
mov edx, 0xc0000
xor eax, eax
jmp 0x40e616
or dword [0x479410], 0x2001000
mov edx, 0x40000000
mov eax, dword [0x479414]
mov dword [0x479414], eax
mov eax, 0x10000000
jmp 0x40e616
and dword [0x478bf4], 0
mov edx, 0x479008
mov ecx, dword [esi + ebx*4 + 4]
mov dword [0x478bf0], 0x80080
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40de66
jmp 0x40dc6e
cmp dword [0x456d08], 0
mov esi, 0x10000000
jne 0x40dea3
mov eax, dword [0x474b84]
mov edx, 0x40000000
or dword [0x474b80], 0x42000
mov dword [0x474b84], eax
mov eax, 0x10001000
jmp 0x40dead
mov eax, 0x20000000
mov edx, 0x80000
xor ecx, ecx
mov dword [0x478bf4], esi
mov dword [0x479410], eax
mov dword [0x479414], ecx
jmp 0x40e61b
cmp dword [0x456d08], 0
je 0x40ded8
mov edx, 0x80100
jmp 0x40de22
or dword [0x479410], 0x801000
mov edx, 0x40000100
jmp 0x40de38
mov dword [0x478bf0], 0x80002
jmp 0x40dcb2
mov ecx, dword [esi + ebx*4 + 4]
mov edx, 0x478bf8
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40df04
mov dword [0x478bf0], 0x84000
jmp 0x40dcb2
mov dword [0x478bf0], 0x88000
jmp 0x40dcb2
mov dword [0x478bf0], 0x80040
jmp 0x40dcb2
cmp dword [0x456d08], 0
je 0x40df4e
mov edx, 0x880000
jmp 0x40de22
mov eax, dword [0x479414]
mov edx, dword [0x478bf0]
or dword [0x479410], 0x4001000
or edx, 0x40000000
mov dword [0x479414], eax
mov eax, dword [0x478bf4]
or eax, 0x10000000
jmp 0x40e616
push dword [esi + ebx*4 + 4]
push 0x4189f0
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40df92
xor ecx, ecx
jmp 0x40dfa6
push dword [esi + ebx*4 + 4]
push 0x4189f4
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40dfb4
lea ecx, [eax + 1]
mov edx, dword [esi + ebx*4 + 8]
call fcn.0040a90e
jmp 0x40e047
mov ecx, 0x4189fc
jmp 0x40e03f
push dword [esi + ebx*4 + 4]
push 0x418970
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40dfd5
inc eax
push eax
xor ecx, ecx
jmp 0x40e02e
push dword [esi + ebx*4 + 4]
push 0x418978
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40dfea
push 2
jmp 0x40dfd1
push dword [esi + ebx*4 + 4]
push 0x418980
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40e001
inc eax
push eax
mov ecx, eax
jmp 0x40e02e
push dword [esi + ebx*4 + 4]
push 0x418988
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40e016
push 2
jmp 0x40e029
push dword [esi + ebx*4 + 4]
push 0x418990
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40e03a
push 3
xor eax, eax
lea ecx, [eax + 1]
mov edx, dword [esi + ebx*4 + 8]
call fcn.0040a812
pop ecx
jmp 0x40e047
mov ecx, 0x418998
push 0xc
pop edx
call fcn.00402d26
push 0
jmp 0x40cdce
and dword [0x479414], 0
mov dword [0x479410], 4
mov dword [0x478bf0], 0x80000
mov dword [0x478bf4], 0x10000000
jmp 0x40dc6e
mov dword [0x479410], 0x21000
jmp 0x40e5f7
mov dword [0x479410], 0x5000
jmp 0x40e5f7
and dword [0x479414], 0
mov eax, 0x10000000
cmp dword [0x456d08], 0
mov edx, 0x80000
mov dword [0x479410], 0x3000
jne 0x40e0bf
mov edx, 0x40000000
mov ecx, dword [esi + ebx*4 + 4]
mov dword [0x478bf0], edx
mov dword [0x478bf4], eax
test ecx, ecx
je 0x40e621
or dword [0x474b80], 0x800
cmp byte [ecx], 0x2d
mov eax, dword [0x474b84]
mov dword [0x474b84], eax
je 0x40e621
mov edi, 0x4785f8
mov esi, edi
mov al, byte [ecx]
inc ecx
mov byte [esi], al
inc esi
test al, al
jne 0x40e0fa
mov cl, byte [0x4785f8]
mov esi, edi
mov edi, 0x479748
jmp 0x40e14b
cmp cl, 0x22
je 0x40e144
cmp cl, 0x27
je 0x40e144
mov al, cl
sub al, 0x30
cmp al, 9
jbe 0x40e12a
inc esi
mov cl, byte [esi]
jmp 0x40e11d
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x40e13a
mov byte [edi], cl
inc edi
inc esi
mov cl, byte [esi]
jmp 0x40e12a
test cl, cl
je 0x40e145
mov byte [edi], 0x2c
inc edi
jmp 0x40e145
inc esi
test esi, esi
je 0x40e14f
mov cl, byte [esi]
test cl, cl
jne 0x40e113
mov byte [edi], 0
jmp 0x40e621
and dword [0x479414], 0
mov eax, 0x10000000
cmp dword [0x456d08], 0
mov dword [0x479410], 0x8000
je 0x40e180
mov edx, 0x80000
jmp 0x40e616
mov dword [0x479410], 0x9000
jmp 0x40de08
mov dword [0x479410], 0x1000
mov dword [0x479414], 0x40
jmp 0x40e5fe
mov dword [0x479410], 0x1400
jmp 0x40e5f7
mov ecx, dword [esi + ebx*4 + 4]
cmp byte [ecx], 0x2d
je 0x40e1f9
mov eax, dword [0x474b84]
or dword [0x474b80], 0x1000
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x20]
mov dword [0x474b84], eax
call fcn.00401d3c
test eax, eax
jle 0x40e1ea
mov dword [0x46ccf8], eax
mov dword [0x479410], 0x1800
jmp 0x40e5f7
push 0xc
pop edx
mov ecx, 0x4188ac
call fcn.00402d26
jmp 0x40dc76
cmp dword [0x476588], 0
mov eax, 0x4186a0
mov ecx, 0x418680
push 0xe
cmove ecx, eax
pop edx
call fcn.00402d26
push 0x42dae8
push 0x4186bc
call fcn.00401006
push 0x4513a0
push 0x4186dc
call fcn.00401006
push 0x454948
push 0x4186f8
call fcn.00401006
add esp, 0x18
cmp byte [0x43af54], 0
je 0x40e2a1
mov edx, 0x418714
xor ecx, ecx
mov ebx, 0x43af54
movzx eax, byte [ebx + ecx]
cmp al, byte [edx + ecx]
jne 0x40e27f
inc ecx
cmp ecx, 0x10
jne 0x40e26c
xor eax, eax
jmp 0x40e284
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40e294
push 0x418724
call fcn.00401006
jmp 0x40e2a0
push ebx
push 0x418744
call fcn.00401006
pop ecx
pop ecx
cmp dword [0x474c38], 0
je 0x40e2e8
push 0x418768
call fcn.00401006
mov edx, dword [0x474c38]
mov eax, 0x43a988
pop ecx
xor ecx, ecx
cmp edx, dword [eax]
je 0x40e2d3
add eax, 0x44
inc ecx
cmp eax, 0x43ae0c
jle 0x40e2c2
jmp 0x40e2e8
imul eax, ecx, 0x44
add eax, 0x43a98c
push eax
push 0x414414
call fcn.00401006
pop ecx
pop ecx
cmp dword [0x476588], 0
je 0x40e2fd
push 0x478698
push 0x418788
jmp 0x40e33f
mov ecx, 0x478698
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x40e307
sub edx, esi
lea eax, [edx + 0x478698]
jmp 0x40e31d
cmp eax, ecx
je 0x40e329
dec eax
cmp byte [eax], 0x5c
jne 0x40e318
cmp eax, ecx
je 0x40e329
mov byte [eax], 0
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x40e32e
sub edx, esi
je 0x40e346
push ecx
push 0x4187a0
call fcn.00401006
pop ecx
pop ecx
cmp dword [0x478650], 0
je 0x40e365
mov eax, dword [0x476148]
add eax, 8
push eax
push 0x4187bc
call fcn.00401006
pop ecx
jmp 0x40e391
cmp dword [0x456d08], 0
jne 0x40e37e
mov eax, dword [0x476148]
add eax, 8
push eax
push 0x4187dc
jmp 0x40e35d
cmp dword [0x476588], 0
je 0x40e392
push 0x4187f8
call fcn.00401006
pop ecx
push dword [0x425260]
push 0x41881c
call fcn.00401006
push dword [0x43af50]
push 0x418830
call fcn.00401006
mov ebx, 0x4785f8
add esp, 0x10
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e3bf
sub ecx, edx
je 0x40e3d7
push ebx
push 0x418844
call fcn.00401006
pop ecx
pop ecx
push dword [0x46ccf8]
push 0x418864
call fcn.00401006
cmp dword [0x47095c], 0
mov ecx, 0x418878
mov eax, 0x418874
cmove eax, ecx
push eax
push 0x41887c
call fcn.00401006
add esp, 0x10
jmp 0x40e047
mov dword [0x479410], 0x40001000
and dword [0x479414], 0
mov eax, 0x10000000
cmp dword [0x456d08], 0
mov edx, 0x40000000
je 0x40e616
jmp 0x40e176
mov dword [0x479410], 0x11000
jmp 0x40e418
push 0x4184c0
mov dword [0x476148], 0x43cc70
call fcn.00401006
mov eax, dword [0x476148]
mov ebx, 0x4121fc
pop ecx
cmp dword [eax + 0x48], 0x80000000
je 0x40e57b
push 0xa
pop esi
cmp dword [eax + 0x4c], 0
jne 0x40e4a0
add eax, 8
push eax
push 0x4184e0
call fcn.00401006
mov eax, dword [0x476148]
pop ecx
add eax, 0x388
pop ecx
mov dword [0x476148], eax
jmp 0x40e56e
add eax, 8
push eax
push 0x41440c
call fcn.00401006
mov ecx, dword [0x476148]
push 0
push 2
call fcn.00401eb6
add esp, 0x10
test eax, eax
je 0x40e4d6
mov edx, esi
mov ecx, 0x4184f8
call fcn.00402d26
mov ecx, dword [0x476148]
push 0
push 0x8018
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40e4fb
mov edx, esi
mov ecx, 0x414134
call fcn.00402d26
mov ecx, dword [0x476148]
push 0
push 0x40
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40e52f
push 0
push 0x40000
call fcn.00401eb6
add esp, 8
mov ecx, 0x4184fc
test eax, eax
je 0x40e528
push 6
pop edx
jmp 0x40e52a
mov edx, esi
call fcn.00402d26
push ebx
call fcn.00401006
mov eax, dword [0x476148]
pop ecx
lea ecx, [eax + 0x388]
lea esi, [eax + 8]
mov dword [0x476148], ecx
lea eax, [ecx + 8]
push esi
push eax
call edi
pop ecx
test eax, eax
mov eax, dword [0x476148]
pop ecx
jne 0x40e56b
add eax, 0x388
mov dword [0x476148], eax
add eax, 8
jmp 0x40e54d
push 0xa
pop esi
cmp dword [eax + 0x48], 0x80000000
jne 0x40e476
push ebx
call fcn.00401006
pop ecx
push 0xe
pop edx
mov ecx, 0x418500
call fcn.00402d26
push 0xe
pop edx
mov ecx, 0x418558
call fcn.00402d26
push 0xe
pop edx
mov ecx, 0x4185b0
jmp 0x40e042
xor esi, esi
mov dword [0x479410], 0x1000
inc esi
mov eax, 0x10000000
cmp dword [0x456d08], 0
mov edx, 0x80000
mov dword [0x479414], esi
jne 0x40e5d4
mov edx, 0x40000000
mov dword [0x478bf0], edx
mov dword [0x478bf4], eax
jmp 0x40e624
mov dword [0x479410], 0x8001000
jmp 0x40e5f7
mov dword [0x479410], 0x81000
and dword [0x479414], 0
cmp dword [0x456d08], 0
mov edx, 0x80000
mov eax, 0x10000000
jne 0x40e616
mov edx, 0x40000000
mov dword [0x478bf4], eax
mov dword [0x478bf0], edx
xor esi, esi
inc esi
mov ecx, dword [0x478bf4]
xor eax, eax
and ecx, 0x10000000
mov ebx, 0x451e00
or eax, ecx
je 0x40e9be
mov ecx, dword [0x479414]
xor edx, edx
and ecx, 0x20
mov eax, edx
or eax, ecx
je 0x40e68f
mov dword [esp + 0xc], 0x4396f0
lea eax, [esp + 0x28]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov dword [esp + 0x14], eax
test eax, eax
je 0x40eba2
push eax
push 0x418c68
mov edi, 0x479108
push edi
call fcn.00401034
add esp, 0xc
mov ecx, edi
jmp 0x40eb82
mov ecx, dword [0x479414]
mov eax, edx
and ecx, 0x400
or eax, ecx
je 0x40e6ab
mov dword [esp + 0xc], 0x4394b0
jmp 0x40e658
mov ecx, dword [0x479414]
mov eax, edx
and ecx, 0x1000
or eax, ecx
je 0x40e6c7
mov dword [esp + 0xc], 0x43af68
jmp 0x40e658
mov ecx, dword [0x479414]
mov eax, edx
and ecx, 0x200
or eax, ecx
je 0x40e6e6
mov dword [esp + 0xc], 0x43a0c8
jmp 0x40e658
mov ecx, dword [0x479414]
mov eax, edx
and ecx, 0x10
or eax, ecx
je 0x40e702
mov dword [esp + 0xc], 0x427170
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 4
or eax, edx
je 0x40e71b
mov dword [esp + 0xc], 0x468288
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 8
or eax, edx
je 0x40e734
mov dword [esp + 0xc], 0x42db28
jmp 0x40e658
mov eax, dword [0x479410]
mov edi, 0x100
and eax, edi
or eax, edx
je 0x40e76c
mov eax, dword [0x474b78]
sub eax, edx
je 0x40e75f
sub eax, 1
jne 0x40e75f
mov dword [esp + 0xc], 0x46cd00
jmp 0x40e658
mov dword [esp + 0xc], 0x461580
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 0x400
or eax, edx
je 0x40e787
mov dword [esp + 0xc], 0x430ee0
jmp 0x40e658
mov ecx, dword [0x479414]
mov eax, edx
and ecx, 0x40
or eax, ecx
je 0x40e7a3
mov dword [esp + 0xc], 0x456218
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 0x800
or eax, edx
je 0x40e7be
mov dword [esp + 0xc], 0x426e28
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 0x20000
or eax, edx
je 0x40e7d9
mov dword [esp + 0xc], 0x468920
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 0x2000
or eax, edx
je 0x40e7f4
mov dword [esp + 0xc], 0x468b50
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 0x4000
or eax, edx
je 0x40e80f
mov dword [esp + 0xc], 0x435b50
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 0x10000
or eax, edx
je 0x40e82a
mov dword [esp + 0xc], 0x435808
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 0x40000
or eax, edx
je 0x40e845
mov dword [esp + 0xc], 0x463ec8
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 0x80000
or eax, edx
je 0x40e860
mov dword [esp + 0xc], 0x43a528
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 0x8000000
or eax, edx
je 0x40e87b
mov dword [esp + 0xc], 0x44c288
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 0x200000
or eax, edx
jne 0x40e897
mov eax, dword [0x479410]
and eax, 0x800000
or eax, edx
je 0x40e8a0
mov dword [esp + 0xc], ebx
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 0x4000000
or eax, edx
je 0x40e8bb
mov dword [esp + 0xc], 0x455fe8
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 0x20000000
or eax, edx
je 0x40e8d6
mov dword [esp + 0xc], 0x439e98
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 0x80000000
or eax, edx
je 0x40e8f1
mov dword [esp + 0xc], 0x423c30
jmp 0x40e658
mov eax, dword [0x479410]
and eax, 0x40000000
or eax, edx
je 0x40e90c
mov dword [esp + 0xc], 0x42f568
jmp 0x40e658
mov ecx, dword [0x479414]
mov eax, edx
and ecx, esi
or eax, ecx
je 0x40e927
mov dword [esp + 0xc], 0x450d08
jmp 0x40e658
mov ecx, dword [0x479414]
mov eax, edx
and ecx, 2
or eax, ecx
je 0x40e943
mov dword [esp + 0xc], 0x4549a0
jmp 0x40e658
mov ecx, dword [0x479414]
mov eax, edx
and ecx, 4
or eax, ecx
je 0x40e95f
mov dword [esp + 0xc], 0x45eb50
jmp 0x40e658
mov ecx, dword [0x479414]
mov eax, edx
and ecx, 8
or eax, ecx
je 0x40e97b
mov dword [esp + 0xc], 0x450790
jmp 0x40e658
mov ecx, dword [0x479414]
mov eax, edx
and ecx, 0x80
or eax, ecx
je 0x40e99a
mov dword [esp + 0xc], 0x435d80
jmp 0x40e658
mov ecx, dword [0x479414]
mov eax, edx
and ecx, edi
or eax, ecx
je 0x40e9b5
mov dword [esp + 0xc], 0x43c8e0
jmp 0x40e658
mov dword [esp + 0xc], edx
jmp 0x40e658
mov eax, edx
xor ecx, ecx
and eax, 2
or eax, ecx
je 0x40e9d6
mov dword [esp + 0xc], 0x451ab8
jmp 0x40e658
mov eax, edx
and eax, 0x800000
or eax, ecx
je 0x40ea02
cmp dword [0x456d08], ecx
mov ebx, 0x4319d0
mov eax, 0x455fe8
cmove ebx, eax
mov dword [esp + 0xc], ebx
mov ebx, 0x451e00
jmp 0x40e658
mov eax, edx
and eax, 0x8000
or eax, ecx
je 0x40ea1a
mov dword [esp + 0xc], 0x426898
jmp 0x40e658
mov eax, edx
and eax, 0x4000
or eax, ecx
je 0x40ea32
mov dword [esp + 0xc], 0x44ece8
jmp 0x40e658
mov eax, edx
and eax, 0x200000
or eax, ecx
je 0x40ea61
and edx, 0x20000000
or edx, ecx
je 0x40ea54
mov dword [esp + 0xc], 0x45d128
jmp 0x40e658
mov dword [esp + 0xc], 0x464210
jmp 0x40e658
mov eax, edx
and eax, 0x10
or eax, ecx
je 0x40ea77
mov dword [esp + 0xc], 0x426ae0
jmp 0x40e658
mov eax, edx
and eax, 0x100000
or eax, ecx
je 0x40ea8f
mov dword [esp + 0xc], 0x4685d0
jmp 0x40e658
mov eax, edx
and eax, 0x20
or eax, ecx
je 0x40eaa5
mov dword [esp + 0xc], 0x451170
jmp 0x40e658
mov eax, edx
and eax, 8
or eax, ecx
je 0x40eabb
mov dword [esp + 0xc], 0x44c700
jmp 0x40e658
mov eax, edx
and eax, 0x80
or eax, ecx
je 0x40ead3
mov dword [esp + 0xc], 0x43a9d0
jmp 0x40e658
mov eax, edx
and eax, 0x100
or eax, ecx
je 0x40eaeb
mov dword [esp + 0xc], 0x46cac0
jmp 0x40e658
mov eax, edx
and eax, 0x40000
or eax, ecx
je 0x40eb03
mov dword [esp + 0xc], 0x4274b8
jmp 0x40e658
mov eax, edx
mov edi, 0x400000
and eax, edi
or eax, ecx
je 0x40eb4a
cmp dword [0x456d08], ecx
je 0x40eb25
mov dword [esp + 0xc], 0x426668
jmp 0x40e658
or dword [0x478bf4], 0x10000000
mov eax, dword [0x479414]
or dword [0x479410], edi
mov dword [0x478bf0], edx
mov dword [0x479414], eax
jmp 0x40e658
mov eax, edx
and eax, 0x18000000
or eax, ecx
je 0x40eb63
mov eax, 0x45d588
mov dword [esp + 0xc], eax
jmp 0x40e658
and edx, 0x40080000
or edx, ecx
jne 0x40e658
cmp dword [0x4789ec], ecx
jne 0x40e658
mov ecx, 0x418c2c
push 0xc
pop edx
call fcn.00402d26
or eax, 0xffffffff
mov ecx, dword [esp + 0x1bc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0041079d
mov esp, ebp
pop ebp
ret
call fcn.0040169e
test eax, eax
jns 0x40ebba
push 0x42dae8
push 0x418c9c
jmp 0x40f44f
cmp dword [0x47943c], 0
je 0x40ebd5
cmp dword [0x4799e8], 0
jne 0x40ebd5
mov eax, esi
mov dword [0x456d08], eax
jmp 0x40ebda
mov eax, dword [0x456d08]
push 6
pop edi
test eax, eax
je 0x40ed06
push 0x418cc8
call fcn.00401006
and dword [0x4787c4], 0
xor eax, eax
and dword [0x4787c8], 0
xorps xmm0, xmm0
mov dword [esp], 0x474c14
inc eax
push 0x4787c4
push 0x4513a0
push 0x42dae8
movlpd qword [0x4787d4], xmm0
movlpd qword [0x4787dc], xmm0
mov dword [0x4787cc], eax
mov dword [0x4787d0], edi
call dword [sym.imp.WS2_32.dll_getaddrinfo]
mov esi, eax
mov dword [esp + 0x14], esi
test esi, esi
jne 0x40f449
mov eax, dword [0x474c14]
mov dword [0x479438], eax
test eax, eax
je 0x40ecdc
mov ecx, eax
mov edx, eax
or esi, 0xffffffff
push dword [eax + 0xc]
push dword [ecx + 8]
push dword [edx + 4]
call dword [sym.imp.WS2_32.dll_socket]
mov dword [0x479744], eax
cmp eax, esi
je 0x40f418
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], 1
push ecx
push 0x4004667f
push eax
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, dword [0x479438]
push dword [eax + 0x10]
push dword [eax + 0x18]
push dword [0x479744]
call dword [sym.imp.WS2_32.dll_connect]
mov dword [esp + 0x14], eax
cmp eax, esi
jne 0x40ecdc
push dword [0x479744]
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [0x479438]
mov dword [0x479744], esi
mov eax, dword [eax + 0x1c]
mov ecx, eax
mov dword [0x479438], eax
mov edx, eax
test eax, eax
jne 0x40ec61
push 0x418d3c
call fcn.00401006
cmp dword [0x4789e8], 0
pop ecx
je 0x40ed06
cmp dword [0x47943c], 0
je 0x40ed06
cmp dword [0x4799e8], 0
jne 0x40f9e8
mov eax, dword [0x479410]
xor ecx, ecx
and eax, 0x1000
or eax, ecx
je 0x40ee02
push 0x474c14
push 0x4787c4
xor eax, eax
mov dword [0x4787c4], ecx
xorps xmm0, xmm0
mov dword [0x4787c8], ecx
push 0x454948
inc eax
movlpd qword [0x4787d4], xmm0
push 0x42dae8
movlpd qword [0x4787dc], xmm0
mov dword [0x4787cc], eax
mov dword [0x4787d0], edi
call dword [sym.imp.WS2_32.dll_getaddrinfo]
mov esi, eax
mov dword [esp + 0x14], esi
test esi, esi
jne 0x40f479
mov eax, dword [0x474c14]
inc esi
mov dword [0x479438], eax
test eax, eax
je 0x40ee05
mov ecx, eax
mov edx, eax
push dword [eax + 0xc]
push dword [ecx + 8]
push dword [edx + 4]
call dword [sym.imp.WS2_32.dll_socket]
mov dword [0x47879c], eax
cmp eax, 0xffffffff
je 0x40f472
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], esi
push ecx
push 0x4004667f
push eax
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, dword [0x479438]
push dword [eax + 0x10]
push dword [eax + 0x18]
push dword [0x47879c]
call dword [sym.imp.WS2_32.dll_connect]
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
jne 0x40ee05
push dword [0x47879c]
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [0x479438]
or dword [0x47879c], 0xffffffff
mov eax, dword [eax + 0x1c]
mov ecx, eax
mov dword [0x479438], eax
mov edx, eax
test eax, eax
jne 0x40ed86
jmp 0x40ee05
xor esi, esi
inc esi
push 0x4121fc
call fcn.00401006
mov eax, dword [0x479410]
xor edx, edx
and eax, 0x200000
or eax, edx
pop ecx
jne 0x4103b0
mov ecx, dword [0x478bf0]
mov eax, ecx
and eax, 0x80000
or eax, edx
jne 0x40f481
and ecx, 0x40000000
or ecx, edx
je 0x40f9e8
mov ecx, 0x20000
call fcn.00401e3c
test eax, eax
jne 0x40ee8a
mov eax, dword [0x451e00]
mov esi, ebx
or eax, dword [0x451e04]
je 0x40ee8a
lea ecx, [esi + 0x18]
mov edx, esi
call fcn.00403c29
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x4106eb
add esi, 0x118
je 0x40ee8a
mov eax, dword [esi]
or eax, dword [esi + 4]
jne 0x40ee64
mov esi, dword [0x476148]
test esi, esi
je 0x40f3e3
mov ecx, 0x42200
call fcn.00401e3c
test eax, eax
je 0x40eed5
lea ecx, [esi + 8]
mov edx, 0x474bd0
sub edx, ecx
mov al, byte [ecx]
mov byte [ecx + edx], al
inc ecx
test al, al
jne 0x40eeb0
xor edi, edi
inc edi
mov dword [esi + 0x384], edi
mov byte [0x474c40], al
call fcn.0040b010
mov esi, dword [0x476148]
jmp 0x40ef00
mov ecx, 0x40000
call fcn.00401e3c
test eax, eax
jne 0x40eeef
push 2
pop ecx
call fcn.00401e3c
test eax, eax
jne 0x40eefd
lea ecx, [esi + 8]
call fcn.0040afbf
mov esi, dword [0x476148]
xor edi, edi
inc edi
call fcn.004018a6
cmp dword [0x479004], 0
je 0x40ef1b
mov ebx, edi
mov dword [0x4789e8], ebx
jmp 0x40efbf
lea edi, [esi + 0x348]
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ef26
sub ecx, edx
je 0x40ef68
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ef36
sub ecx, edx
push ecx
push 0x4785d8
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
mov esi, dword [0x476148]
xor ebx, ebx
add esp, 0xc
test eax, eax
sete bl
mov dword [0x4789e8], ebx
test eax, eax
jne 0x40ef6f
jmp 0x40efbc
and dword [0x4789e8], 0
lea edi, [esi + 0x348]
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ef7a
sub ecx, edx
je 0x40efb0
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ef8a
sub ecx, edx
push ecx
push 0x478618
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
mov esi, dword [0x476148]
add esp, 0xc
neg eax
sbb ebx, ebx
inc ebx
jmp 0x40efb2
xor ebx, ebx
mov dword [0x4789e8], ebx
test ebx, ebx
je 0x40efe4
xor edi, edi
inc edi
push 0
push 0x8000
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40efe4
push 0
push 0x4000
mov edx, edi
call fcn.00401edc
jmp 0x40eff7
push 0
push 0x4000
xor edx, edx
mov ecx, esi
call fcn.00401edc
xor edi, edi
inc edi
pop ecx
pop ecx
test ebx, ebx
je 0x40f017
xor ebx, ebx
mov ecx, esi
push ebx
push closesocket
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f019
mov edx, edi
jmp 0x40f01b
xor ebx, ebx
xor edx, edx
push ebx
push 0x200000
mov ecx, esi
call fcn.00401edc
pop ecx
pop ecx
lea eax, [esi + 8]
push eax
push 0x418e04
call fcn.00401006
cmp dword [0x476144], 0
mov esi, dword [0x476148]
pop ecx
pop ecx
je 0x40f057
push ebx
push 0x18
xor edx, edx
mov ecx, esi
call fcn.00401edc
pop ecx
pop ecx
push ebx
push 2
mov ecx, esi
call fcn.00401eb6
add esp, 8
push 0xa
pop ebx
test eax, eax
je 0x40f07d
mov edx, ebx
mov ecx, 0x4184f8
call fcn.00402d26
mov esi, dword [0x476148]
push 0
push 0x8018
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f0a4
mov edx, ebx
mov ecx, 0x414134
call fcn.00402d26
mov esi, dword [0x476148]
push 0
mov edi, 0x40000
mov ecx, esi
push edi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f0dc
mov eax, dword [0x47614c]
cmp eax, dword [esi + 0x134]
jbe 0x40f0dc
push 0
push 0x40
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f100
push 6
pop edx
jmp 0x40f0f0
push 0
push 0x40
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f100
mov edx, ebx
mov ecx, 0x4184fc
call fcn.00402d26
mov esi, dword [0x476148]
push 0
push 0x1000
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f121
mov edx, ebx
mov ecx, 0x418e1c
call fcn.00402d26
push 0x418e20
call fcn.00401006
pop ecx
mov ecx, dword [0x476148]
xor ebx, ebx
push ebx
push 0x200000
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f159
push 0xb
pop edx
mov ecx, 0x418e24
call fcn.00402d26
mov ecx, dword [0x476148]
push ebx
push 0x20000
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f172
mov ecx, 0x418e30
jmp 0x40f188
xor eax, eax
inc eax
push ebx
push eax
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f196
mov ecx, 0x418e44
push 0xb
pop edx
call fcn.00402d26
mov ecx, dword [0x476148]
push ebx
push edi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f26e
cmp dword [0x474c10], ebx
jne 0x40f26e
push 2
push 0
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f1d0
cmp dword [0x474bcc], ebx
jne 0x40f286
mov eax, dword [0x47614c]
test eax, eax
jne 0x40f1e0
mov ecx, 0x418e54
jmp 0x40f1f8
mov ecx, dword [ecx + 0x134]
cmp eax, ecx
jne 0x40f1f1
mov ecx, 0x418e7c
jmp 0x40f1f8
jae 0x40f205
mov ecx, 0x418eb4
push 0xc
pop edx
call fcn.00402d26
jmp 0x40f290
test ecx, ecx
je 0x40f290
cmp dword [0x4787a8], ebx
je 0x40f23c
cmp dword [0x478654], ebx
jne 0x40f290
push 0xc
pop edx
mov ecx, 0x418ee8
call fcn.00402d26
mov ecx, 0x418f50
push 0xc
pop edx
call fcn.00402d26
jmp 0x4106eb
push 0xc
pop edx
mov ecx, 0x418fb8
call fcn.00402d26
push 0xc
pop edx
mov ecx, 0x419008
call fcn.00402d26
mov ecx, dword [0x476148]
xor edx, edx
push 0
push 0x1c0
call fcn.00401edc
pop ecx
pop ecx
jmp 0x40f290
push 2
push 0
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f290
cmp dword [0x474bcc], ebx
je 0x40f290
or dword [ecx + 0x130], 0x40000000
push 0x4164c4
call fcn.00401006
mov edi, dword [0x476148]
pop ecx
cmp dword [0x4789e8], ebx
jne 0x40f2bb
push 0
push 0x6000
xor edx, edx
mov ecx, edi
call fcn.00401edc
pop ecx
pop ecx
mov esi, dword [0x479410]
mov eax, esi
and eax, 0x10000
or eax, 0
je 0x40f2e5
xor ebx, ebx
mov ecx, edi
push 0
inc ebx
push ebx
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f8e3
mov ecx, dword [0x478bf4]
xor eax, eax
and ecx, 0x10000000
mov ebx, 0x8000
or eax, ecx
je 0x40f359
and esi, ebx
or esi, 0
je 0x40f359
cmp dword [edi + 0x384], 0
jne 0x40f320
call fcn.0040b010
mov ecx, dword [0x476148]
cmp dword [ecx + 0x384], 0
je 0x40f32b
call fcn.004026e9
mov ecx, dword [0x476148]
cmp dword [ecx + 0x384], 0
mov eax, 0x419078
mov ecx, 0x419084
cmove eax, ecx
push eax
push 0x419090
call fcn.00401006
pop ecx
pop ecx
mov ecx, dword [0x476148]
call fcn.00402057
jmp 0x40f390
mov eax, 0x474c40
mov ecx, eax
mov dword [0x463434], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f368
sub ecx, edx
je 0x40f38b
push 0
push ebx
mov ecx, edi
call fcn.00401eb6
add esp, 8
test eax, eax
jne 0x40f38b
call fcn.004026e9
jmp 0x40f390
call fcn.0040ace7
mov ecx, ebx
call fcn.00401e3c
test eax, eax
je 0x40f3da
mov eax, dword [0x463ec8]
mov esi, 0x463ec8
or dword [0x463fe8], 0x200000
or dword [0x463fec], 0x20000
or eax, dword [0x463ecc]
je 0x40f3da
lea ecx, [esi + 0x18]
mov edx, esi
call fcn.00403c29
add esi, 0x118
je 0x40f3da
mov eax, dword [esi]
or eax, dword [esi + 4]
jne 0x40f3c1
mov esi, dword [0x476148]
push 6
pop edi
cmp dword [0x47943c], 0
je 0x40f9ee
cmp dword [0x4799e8], 0
je 0x40f406
cmp dword [0x4789e8], 0
jne 0x40f9f7
xor eax, eax
mov ebx, 0x451e00
inc eax
mov dword [0x456d08], eax
jmp 0x40ebdd
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x418d10
mov edi, 0x479108
push edi
call fcn.00401034
add esp, 0xc
mov ecx, edi
push 0xc
pop edx
call fcn.00402d26
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, esi
jmp 0x40eb8d
push esi
push 0x418cec
mov edi, 0x479108
push edi
call fcn.00401034
add esp, 0xc
mov ecx, edi
push 0xc
pop edx
call fcn.00402d26
call dword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x40eb8a
mov ecx, 0x418d98
jmp 0x40f45f
push esi
push 0x418d74
jmp 0x40f44f
mov ecx, 0x20000
call fcn.00401e3c
test eax, eax
jne 0x40f4df
mov eax, dword [0x478bf0]
and eax, 2
or eax, edx
je 0x40f4c3
mov eax, dword [0x42f8b0]
or dword [0x42f8b4], 0x10000000
or dword [0x42f8b8], 0x2000000
mov dword [0x42f8b0], eax
mov eax, dword [0x42f8bc]
mov dword [0x42f8bc], eax
mov edx, 0x42f8b0
mov ecx, 0x42f8c8
call fcn.00403c29
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x4106eb
mov esi, dword [0x476148]
test esi, esi
je 0x40f9ee
mov ecx, 0x2200
call fcn.00401e3c
test eax, eax
je 0x40f52f
lea ecx, [esi + 8]
mov edx, 0x474bd0
sub edx, ecx
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x40f505
xor ebx, ebx
inc ebx
mov dword [esi + 0x384], ebx
mov byte [0x474c40], al
call fcn.0040b010
call fcn.004018a6
mov esi, dword [0x476148]
jmp 0x40f532
xor ebx, ebx
inc ebx
test esi, esi
je 0x40f9ee
lea eax, [esi + 8]
push eax
push 0x418e04
call fcn.00401006
cmp dword [0x476144], 0
mov esi, dword [0x476148]
pop ecx
pop ecx
je 0x40f568
push 0
push 0x18
mov edx, ebx
mov ecx, esi
call fcn.00401edc
pop ecx
pop ecx
push 0
push 2
mov ecx, esi
call fcn.00401eb6
add esp, 8
push 0xa
pop ebx
test eax, eax
je 0x40f58f
mov edx, ebx
mov ecx, 0x4184f8
call fcn.00402d26
mov esi, dword [0x476148]
push 0
push 0x8018
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f5b6
mov edx, ebx
mov ecx, 0x414134
call fcn.00402d26
mov esi, dword [0x476148]
push 0
push 0x40000
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f5ec
mov eax, dword [0x47614c]
cmp eax, dword [esi + 0x134]
jbe 0x40f5ec
push 0
push 0x40
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f610
mov edx, edi
jmp 0x40f600
push 0
push 0x40
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f610
mov edx, ebx
mov ecx, 0x4184fc
call fcn.00402d26
mov esi, dword [0x476148]
push 0
push 0x1000
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f631
mov edx, ebx
mov ecx, 0x418e1c
call fcn.00402d26
push 0x418e20
call fcn.00401006
pop ecx
mov ecx, dword [0x476148]
xor ebx, ebx
push ebx
push 0x200000
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f669
push 0xb
pop edx
mov ecx, 0x418e24
call fcn.00402d26
mov ecx, dword [0x476148]
push ebx
push 0x20000
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f68d
push 0xb
pop edx
mov ecx, 0x418e30
call fcn.00402d26
xor esi, esi
inc esi
jmp 0x40f6ab
xor esi, esi
push ebx
inc esi
push esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f6b1
push 0xb
pop edx
mov ecx, 0x418e44
call fcn.00402d26
mov ecx, dword [0x476148]
push ebx
push 0x40000
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f76d
cmp dword [0x474c10], ebx
jne 0x40f76d
push 2
push 0
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f6ef
cmp dword [0x474bcc], ebx
jne 0x40f785
mov edx, dword [0x47614c]
test edx, edx
jne 0x40f700
mov ecx, 0x418e54
jmp 0x40f718
mov eax, dword [ecx + 0x134]
cmp edx, eax
jne 0x40f711
mov ecx, 0x418e7c
jmp 0x40f718
jae 0x40f722
mov ecx, 0x418eb4
push 0xc
pop edx
call fcn.00402d26
jmp 0x40f78f
test eax, eax
je 0x40f78f
cmp dword [0x4787a8], ebx
je 0x40f73b
cmp dword [0x478654], ebx
jne 0x40f78f
jmp 0x40f21d
push 0xc
pop edx
mov ecx, 0x418fb8
call fcn.00402d26
push 0xc
pop edx
mov ecx, 0x419008
call fcn.00402d26
mov ecx, dword [0x476148]
xor edx, edx
push 0
push 0x1c0
call fcn.00401edc
pop ecx
pop ecx
jmp 0x40f78f
push 2
push 0
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f78f
cmp dword [0x474bcc], ebx
je 0x40f78f
or dword [ecx + 0x130], 0x40000000
push 0x4164c4
call fcn.00401006
pop ecx
cmp dword [0x479004], ebx
je 0x40f7ac
mov ebx, esi
mov dword [0x4789e8], ebx
jmp 0x40f7b2
mov ebx, dword [0x4789e8]
test ebx, ebx
jne 0x40f868
mov edx, dword [0x476148]
add edx, 0x348
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f7cb
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
sub ecx, esi
push ecx
push 0x4785d8
push edx
call edi
xor ebx, ebx
add esp, 0xc
test eax, eax
sete bl
mov dword [0x4789e8], ebx
mov ecx, ebx
test eax, eax
je 0x40f82c
mov edx, dword [0x476148]
add edx, 0x348
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f80a
sub ecx, esi
push ecx
push 0x478618
push edx
call edi
add esp, 0xc
neg eax
sbb ebx, ebx
inc ebx
mov dword [0x4789e8], ebx
mov ecx, ebx
test ecx, ecx
jne 0x40f868
mov esi, dword [0x476148]
push 0
push 0x4000
xor edx, edx
mov ecx, esi
call fcn.00401edc
xor edi, edi
inc edi
pop ecx
pop ecx
test ebx, ebx
je 0x40f896
push 0
push closesocket
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f896
mov edx, edi
jmp 0x40f898
mov esi, dword [0x476148]
mov ecx, esi
push 0
push 0x8000
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40f836
xor edi, edi
inc edi
push 0
push 0x4000
mov edx, edi
call fcn.00401edc
jmp 0x40f849
xor edx, edx
push 0
push 0x200000
mov ecx, esi
call fcn.00401edc
pop ecx
pop ecx
test ebx, ebx
jne 0x40f8bd
push ebx
push 0x6000
xor edx, edx
mov ecx, esi
call fcn.00401edc
pop ecx
pop ecx
mov edi, dword [0x479410]
mov eax, edi
and eax, 0x10000
or eax, 0
je 0x40f8f5
xor ebx, ebx
mov ecx, esi
push 0
inc ebx
push ebx
call fcn.00401eb6
add esp, 8
test eax, eax
jne 0x40f8f5
push 0xc
pop edx
mov ecx, 0x419038
call fcn.00402d26
jmp 0x4106ee
mov ecx, dword [0x478bf4]
xor eax, eax
and ecx, 0x10000000
mov ebx, 0x8000
or eax, ecx
je 0x40f967
and edi, ebx
or edi, 0
je 0x40f967
cmp dword [esi + 0x384], 0
jne 0x40f92f
call fcn.0040b010
mov eax, dword [0x476148]
cmp dword [eax + 0x384], 0
je 0x40f940
call fcn.004026e9
mov eax, dword [0x476148]
cmp dword [eax + 0x384], 0
mov ecx, 0x419084
mov eax, 0x419078
cmove eax, ecx
push eax
push 0x419090
call fcn.00401006
pop ecx
pop ecx
mov ecx, dword [0x476148]
call fcn.00402057
jmp 0x40f99e
mov eax, 0x474c40
mov ecx, eax
mov dword [0x463434], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f976
sub ecx, edx
je 0x40f999
push 0
push ebx
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
jne 0x40f999
call fcn.004026e9
jmp 0x40f99e
call fcn.0040ace7
mov ecx, ebx
call fcn.00401e3c
test eax, eax
je 0x40f9e8
mov eax, dword [0x463ec8]
or dword [0x463fe8], 0x200000
or dword [0x463fec], 0x20000
or eax, dword [0x463ecc]
je 0x40f9e8
mov ebx, 0x463ec8
lea ecx, [ebx + 0x18]
mov edx, ebx
call fcn.00403c29
add ebx, 0x118
je 0x40f9e8
mov eax, dword [ebx]
or eax, dword [ebx + 4]
jne 0x40f9cf
mov esi, dword [0x476148]
cmp dword [0x4789e8], 0
je 0x40fa1f
push 0
push closesocket
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40fa1f
xor eax, eax
push 0
push 0x200000
lea edx, [eax + 1]
call fcn.00401edc
pop ecx
pop ecx
mov eax, dword [0x479410]
mov ebx, 0x4147c4
and eax, 0x1000
or eax, 0
je 0x40fa8d
cmp dword [0x479308], 0
jne 0x40fa8d
push 0xa
pop esi
push 0x4190b0
dec esi
call fcn.00401006
pop ecx
call fcn.00401b25
test eax, eax
jne 0x40fa69
push ebx
call fcn.00401006
pop ecx
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
test esi, esi
jg 0x40fa3f
jmp 0x40fa74
push 0x416048
call fcn.00401006
pop ecx
cmp dword [0x479308], 0
jne 0x40fa87
mov ecx, 0x4190d8
jmp 0x40f22f
mov esi, dword [0x476148]
mov ecx, dword [0x479414]
xor eax, eax
and ecx, 2
or eax, ecx
je 0x40faa7
call fcn.0040b89d
mov esi, dword [0x476148]
push 0
push 0x400000
mov ecx, esi
call fcn.00401eb6
add esp, 8
mov edi, 0x41912c
mov edx, 0x419138
test eax, eax
je 0x40faf4
mov ecx, dword [0x479414]
xor eax, eax
and ecx, 8
or eax, ecx
je 0x40faf4
cmp dword [0x46ccf0], 0
mov eax, edi
cmove eax, edx
push eax
push 0x419144
call fcn.00401006
mov esi, dword [0x476148]
pop ecx
pop ecx
mov ecx, dword [0x478bf4]
xor eax, eax
and ecx, 0x10000000
or eax, ecx
je 0x40fd59
mov eax, dword [0x479410]
and eax, 0x10
or eax, 0
je 0x40fb36
test esi, esi
je 0x40fd59
cmp dword [esi + 0x380], 0
jne 0x40fd59
mov ecx, 0x419160
jmp 0x40f22f
mov eax, dword [0x479410]
mov ecx, 0x100
and eax, ecx
or eax, 0
je 0x40fb78
test esi, esi
je 0x40fd59
push 0
push 0x600
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40fb6e
push 0x4191b8
jmp 0x40fd0e
mov ecx, 0x4191e8
jmp 0x40f22f
mov eax, dword [0x479410]
mov edx, 0x80
and eax, edx
or eax, 0
je 0x40fc1e
test esi, esi
je 0x40fd59
push 0
push ecx
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
jne 0x40fbb8
cmp dword [0x479004], eax
jne 0x40fbc1
mov ecx, 0x419240
jmp 0x40f22f
cmp dword [0x479004], 0
je 0x40fbe3
push 0
push 0x100
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40fc05
xor eax, eax
inc eax
mov dword [0x4789e8], eax
jmp 0x40fd59
cmp dword [0x4789e8], 0
je 0x40fc0f
push 0
push 0x100
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
jne 0x40fd59
mov ecx, 0x4192a0
jmp 0x40f22f
mov ecx, 0x419300
call fcn.004018ce
jmp 0x4106eb
mov eax, dword [0x479410]
and eax, 0x20
or eax, 0
je 0x40fc83
test esi, esi
je 0x40fc42
cmp dword [esi + 0x380], 0
jne 0x40fc42
mov ecx, 0x419310
jmp 0x40f22f
cmp dword [0x479004], 0
mov eax, dword [0x4789e8]
push 1
pop ecx
cmovne eax, ecx
mov dword [0x4789e8], eax
test eax, eax
je 0x40fc7c
push 0
push edx
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
jne 0x40fd59
mov ecx, 0x419368
jmp 0x40f22f
mov ecx, 0x4193c4
jmp 0x40fc14
mov eax, dword [0x479410]
and eax, 0x400000
or eax, 0
je 0x40fcad
lea eax, [esi + 0x338]
push eax
push 0x479968
push 0x4193d4
call fcn.00401006
add esp, 0xc
jmp 0x40fd14
mov eax, dword [0x479410]
and eax, 0x800000
or eax, 0
je 0x40fcca
lea eax, [esi + 0x358]
push eax
push 0x4193f8
jmp 0x40fce5
mov eax, dword [0x479410]
and eax, 0x1000000
or eax, 0
je 0x40fced
lea eax, [esi + 0x348]
push eax
push 0x417470
call fcn.00401006
pop ecx
jmp 0x40fd13
mov ecx, dword [0x479410]
mov eax, ecx
and eax, 0x2000000
or eax, 0
jne 0x40fd59
and ecx, 0x10000
or ecx, eax
je 0x40fd1c
push 0x419408
call fcn.00401006
pop ecx
mov esi, dword [0x476148]
jmp 0x40fd59
mov ecx, dword [0x479414]
xor eax, eax
and ecx, 4
or eax, ecx
je 0x40fd3e
cmp dword [0x4789e8], 0
jne 0x40fd3e
mov ecx, 0x419430
jmp 0x40f22f
mov ecx, dword [0x479414]
xor eax, eax
and ecx, 0x1580
or eax, ecx
je 0x40fd59
cmp dword [0x4789e8], 0
je 0x40fd34
mov ecx, dword [0x479414]
xor eax, eax
and ecx, 0x1000
or eax, ecx
je 0x40fd87
push 4
push 0
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
jne 0x40fd87
mov ecx, 0x419460
jmp 0x40f22f
mov eax, dword [0x478bf0]
and eax, 0x8000000
or eax, 0
je 0x40fdb6
push 0
push 0x20
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
jne 0x4100ac
mov ecx, 0x4194a8
jmp 0x40f22f
mov eax, dword [0x478bf0]
and eax, 8
or eax, 0
je 0x40fdf6
test esi, esi
je 0x4100ac
mov eax, dword [esi + 0x4c]
cmp dword [0x47930c], eax
jl 0x4100ac
dec eax
mov edi, 0x479108
push eax
push 0x414994
push edi
call fcn.00401034
add esp, 0xc
mov ecx, edi
jmp 0x40f22f
mov eax, dword [0x478bf0]
and eax, 0x40
or eax, 0
je 0x410046
test esi, esi
je 0x4100ac
push 0
push 0x4000
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40fe3d
mov ecx, 0x200
call fcn.00401e3c
test eax, eax
jne 0x40fe3d
call fcn.0040ace7
mov esi, dword [0x476148]
and dword [esp + 0x1c], 0
mov eax, 0x42dd58
mov ebx, eax
mov dword [esp + 0xc], eax
mov dword [0x474bc8], ebx
mov edi, 0x479108
mov dword [0x463434], 0x474c40
mov dword [esp + 0x18], 0xfffffffe
mov dword [esp + 0x10], eax
push 0x200
push 0
push edi
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [edx + 8]
mov edx, dword [edx + 0xc]
and eax, 0x80000000
or eax, 0
mov dword [esp + 0x20], edx
je 0x40fea8
push 0x4194e8
push edi
call fcn.00401034
pop ecx
pop ecx
jmp 0x40ff9d
mov ecx, edx
xor eax, eax
and ecx, 2
or eax, ecx
je 0x40feba
push 0x4194f8
jmp 0x40fe9b
mov ecx, edx
xor eax, eax
and ecx, 0x10
or eax, ecx
je 0x40feea
push 0
push 2
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40fee6
push 0x476358
push 0x414818
jmp 0x40ff94
mov edx, dword [esp + 0x20]
mov ecx, edx
xor eax, eax
and ecx, 4
or eax, ecx
je 0x40fefc
push 0x414740
jmp 0x40fe9b
xor eax, eax
mov ecx, edx
inc eax
and ecx, eax
xor eax, eax
or eax, ecx
jne 0x40fe96
and edx, 8
or eax, edx
je 0x40ffa9
inc dword [esp + 0x1c]
mov ecx, dword [0x463434]
test ecx, ecx
je 0x40ff50
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ff25
sub ecx, edx
je 0x40ff50
push dword [0x463434]
push 0x419504
push edi
call fcn.00401034
add esp, 0xc
add dword [0x463434], 0x100
jmp 0x40ff9d
push 0
push 0x20000
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x40ff70
push dword [esp + 0x18]
push 0x4149c8
jmp 0x40ff94
xor eax, eax
mov ecx, esi
inc eax
push 0
push eax
call fcn.00401eb6
add esp, 8
push dword [esp + 0x18]
test eax, eax
je 0x40ff8f
push 0x4149ec
jmp 0x40ff94
push 0x414a0c
push edi
call fcn.00401034
add esp, 0xc
mov esi, dword [0x476148]
mov ebx, dword [0x474bc8]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esi + 0x4c]
jl 0x40ffcf
mov ecx, dword [ebx + 0xc]
xor eax, eax
and ecx, 8
or eax, ecx
je 0x40ffcf
xor dword [ebx], 0
xor dword [ebx + 4], 0x10000000
mov byte [0x479108], 0
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ffd4
sub ecx, edx
je 0x40fff2
mov edx, ebx
mov ecx, edi
sub edx, edi
mov al, byte [ecx]
mov byte [edx + ecx + 0x18], al
inc ecx
test al, al
jne 0x40ffe5
jmp 0x40fff6
mov byte [ebx + 0x18], 0
add ebx, 0x118
mov dword [esp + 0x10], ebx
mov dword [0x474bc8], ebx
mov eax, dword [ebx]
or eax, dword [ebx + 4]
je 0x410036
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, 0x13
jl 0x40fe6e
mov eax, dword [esp + 0xc]
mov ebx, 0x4147c4
mov dword [esp + 0xc], eax
mov edi, 0x41912c
jmp 0x4100b8
mov eax, dword [esp + 0xc]
mov ebx, 0x4147c4
mov edi, 0x41912c
jmp 0x4100b8
mov eax, dword [0x478bf0]
and eax, 0x20
or eax, 0
je 0x410072
xor eax, eax
mov ecx, esi
inc eax
push 0
push eax
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x410072
mov eax, 0x450430
mov dword [esp + 0xc], eax
jmp 0x4100b8
mov eax, dword [0x479410]
and eax, 0x80000
or eax, 0
je 0x410088
push 0x419510
jmp 0x4100a0
mov eax, dword [0x479410]
and eax, 0x8000000
or eax, 0
je 0x410179
push 0x419534
call fcn.00401006
mov esi, dword [0x476148]
pop ecx
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4106eb
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, edx
or eax, ecx
je 0x41010c
mov esi, dword [esp + 0xc]
and edx, 0x280
or edx, 0
je 0x4101c0
mov ecx, 0x4789f0
mov edx, esi
call fcn.00403c29
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x4106eb
add esi, 0x118
mov dword [esp + 0xc], esi
je 0x410106
mov edx, dword [esi]
mov eax, edx
mov ecx, dword [esi + 4]
or eax, ecx
jne 0x4100c7
mov esi, dword [0x476148]
mov eax, dword [0x478bf0]
and eax, 0x800000
or eax, 0
jne 0x410374
mov ecx, dword [0x479410]
mov eax, ecx
and eax, 0x4000000
or eax, 0
jne 0x410374
and ecx, 0x100
or ecx, eax
je 0x4101f3
cmp dword [0x425260], 0xffffffff
je 0x4101f3
cmp dword [0x43af50], 0xffffffff
je 0x4101f3
cmp dword [0x47095c], 0
mov eax, 0x4195b8
mov ecx, 0x4195d8
cmove eax, ecx
push eax
push 0x4195f0
jmp 0x4101a8
mov eax, dword [0x479410]
and eax, 0x10000000
or eax, 0
je 0x4100ac
add esi, 0x368
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410197
sub ecx, edx
je 0x4101b4
push esi
push 0x416348
call fcn.00401006
pop ecx
pop ecx
jmp 0x4106eb
push 0x416308
call fcn.00401006
jmp 0x4101ae
mov eax, dword [0x478bf0]
lea ecx, [esi + 0x18]
and eax, 0x40
or eax, 0
je 0x4100db
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4101d9
sub edx, esi
mov esi, dword [esp + 0xc]
jne 0x4100db
xor eax, eax
jmp 0x4100e2
mov eax, dword [0x479410]
xor ecx, ecx
and eax, 0x400
or eax, ecx
je 0x41021f
cmp dword [0x47095c], 0
mov eax, 0x4195b8
mov ecx, 0x4195d8
cmove eax, ecx
push eax
push 0x41961c
jmp 0x4101a8
mov eax, dword [0x479410]
and eax, 0x800
or eax, ecx
je 0x41025a
cmp dword [0x47095c], 0
mov eax, 0x4195b8
mov ecx, 0x4195d8
cmove eax, ecx
push eax
push dword [0x46ccf8]
push 0x419644
call fcn.00401006
add esp, 0xc
jmp 0x4106eb
mov eax, dword [0x479410]
and eax, 0x2000
or eax, ecx
je 0x4102cd
mov edx, 0x479748
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x410270
sub edx, ecx
je 0x4102c3
mov esi, 0x4170bc
xor ecx, ecx
mov edx, 0x4785f8
movzx eax, byte [edx + ecx]
cmp al, byte [esi + ecx]
jne 0x41029a
inc ecx
cmp ecx, 2
jne 0x410287
xor ecx, ecx
jmp 0x4102a1
sbb ecx, ecx
xor eax, eax
inc eax
or ecx, eax
cmp dword [0x47095c], 0
mov eax, 0x4195d8
cmove ebx, eax
test ecx, ecx
mov eax, 0x419670
push ebx
cmovne eax, edx
push eax
push 0x419678
jmp 0x41024d
push 0x4196c0
jmp 0x4101b9
mov eax, dword [0x479410]
and eax, 0x80000
or eax, ecx
je 0x4102e5
push 0x4196f8
jmp 0x4101b9
mov eax, dword [0x479410]
and eax, 0x8000000
or eax, ecx
je 0x4102fd
push 0x419748
jmp 0x4101b9
mov ecx, dword [0x479414]
xor eax, eax
and ecx, 8
or eax, ecx
je 0x410354
push 0
push 0x400000
mov ecx, esi
call fcn.00401eb6
add esp, 8
test eax, eax
je 0x4106eb
cmp dword [0x47095c], 0
mov ecx, 0x419798
mov eax, 0x414158
cmove eax, ecx
cmp dword [0x46ccf0], 0
push eax
mov eax, 0x419138
cmove edi, eax
push edi
push 0x4197b0
jmp 0x41024d
mov ecx, dword [0x479414]
xor eax, eax
and ecx, 0x1000
or eax, ecx
je 0x4106eb
push 0x4197f8
jmp 0x4101b9
cmp dword [0x47095c], 0
jne 0x4106eb
push 0x419558
call fcn.00401006
pop ecx
push 0x14
pop esi
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
call fcn.00401006
pop ecx
sub esi, 1
jne 0x41038f
push 0x41957c
jmp 0x4101b9
mov eax, dword [0x451e00]
or eax, dword [0x451e04]
je 0x4103d6
lea ecx, [ebx + 0x18]
mov edx, ebx
call fcn.00403c29
add ebx, 0x118
je 0x4103d6
mov eax, dword [ebx]
or eax, dword [ebx + 4]
jne 0x4103bd
cmp dword [0x476588], 0
mov eax, 0x4186a0
mov ecx, 0x418680
push 0xe
cmove ecx, eax
pop edx
call fcn.00402d26
push 0x42dae8
push 0x4186bc
call fcn.00401006
push 0x4513a0
push 0x4186dc
call fcn.00401006
push 0x454948
push 0x4186f8
call fcn.00401006
add esp, 0x18
cmp dword [0x456d08], 0
jne 0x4104f7
mov ecx, dword [0x476148]
lea ecx, [ecx + 8]
call fcn.0040afbf
call fcn.004018a6
cmp dword [0x479004], 0
je 0x410456
mov dword [0x4789e8], esi
jmp 0x4104f7
mov edx, dword [0x476148]
add edx, 0x348
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410467
sub ecx, esi
je 0x4104a3
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410477
sub ecx, esi
push ecx
push 0x4785d8
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
xor ecx, ecx
add esp, 0xc
test eax, eax
sete cl
mov dword [0x4789e8], ecx
test eax, eax
jne 0x4104aa
jmp 0x4104f7
and dword [0x4789e8], 0
mov edx, dword [0x476148]
add edx, 0x348
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4104bb
sub ecx, esi
je 0x4104f0
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4104cb
sub ecx, esi
push ecx
push 0x478618
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [0x4789e8], eax
jmp 0x4104f7
and dword [0x4789e8], 0
cmp byte [0x43af54], 0
je 0x410534
mov edx, 0x418714
xor ecx, ecx
mov ebx, 0x43af54
movzx eax, byte [ebx + ecx]
cmp al, byte [edx + ecx]
jne 0x410527
inc ecx
cmp ecx, 0x10
jne 0x41050c
push 0x418724
call fcn.00401006
jmp 0x410533
push ebx
push 0x418744
call fcn.00401006
pop ecx
pop ecx
cmp dword [0x474c38], 0
je 0x41057b
push 0x418768
call fcn.00401006
mov edx, dword [0x474c38]
mov eax, 0x43a988
pop ecx
xor ecx, ecx
cmp edx, dword [eax]
je 0x410566
add eax, 0x44
inc ecx
cmp eax, 0x43ae0c
jle 0x410555
jmp 0x41057b
imul eax, ecx, 0x44
add eax, 0x43a98c
push eax
push 0x414414
call fcn.00401006
pop ecx
pop ecx
cmp dword [0x476588], 0
je 0x410590
push 0x478698
push 0x418788
jmp 0x4105d2
mov ecx, 0x478698
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x41059a
sub edx, esi
lea eax, [edx + 0x478698]
jmp 0x4105b0
cmp eax, ecx
je 0x4105bc
dec eax
cmp byte [eax], 0x5c
jne 0x4105ab
cmp eax, ecx
je 0x4105bc
mov byte [eax], 0
mov edx, ecx
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4105c1
sub edx, esi
je 0x4105d9
push ecx
push 0x4187a0
call fcn.00401006
pop ecx
pop ecx
cmp dword [0x478650], 0
je 0x4105f8
mov eax, dword [0x476148]
add eax, 8
push eax
push 0x4187bc
call fcn.00401006
pop ecx
jmp 0x410673
cmp dword [0x456d08], 0
jne 0x410660
mov eax, dword [0x476148]
add eax, 8
push eax
push 0x4187dc
call fcn.00401006
cmp dword [0x4789e8], 0
pop ecx
pop ecx
je 0x410674
mov eax, dword [0x476148]
add eax, 0x358
push eax
push 0x418de0
call fcn.00401006
mov edx, dword [0x476148]
pop ecx
pop ecx
add edx, 0x368
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410647
sub ecx, esi
mov eax, 0x414154
cmovne eax, edx
push eax
push 0x418df4
jmp 0x4105f0
cmp dword [0x476588], 0
je 0x410674
push 0x4187f8
call fcn.00401006
pop ecx
push dword [0x425260]
push 0x41881c
call fcn.00401006
push dword [0x43af50]
push 0x418830
call fcn.00401006
mov ebx, 0x4785f8
add esp, 0x10
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4106a1
sub ecx, edx
je 0x4106b9
push ebx
push 0x418844
call fcn.00401006
pop ecx
pop ecx
push dword [0x46ccf8]
push 0x418864
call fcn.00401006
cmp dword [0x47095c], 0
mov ecx, 0x418878
mov eax, 0x418874
cmove eax, ecx
push eax
push 0x41887c
call fcn.00401006
add esp, 0x10
xor ebx, ebx
inc ebx
mov eax, dword [0x479410]
mov esi, dword [sym.imp.WS2_32.dll_shutdown]
and eax, 0x200100
or eax, 0
je 0x41071c
push ebx
push dword [0x47879c]
call esi
push dword [0x47879c]
mov ebx, eax
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x410720
mov ebx, dword [esp + 0x14]
cmp dword [0x456d08], 0
je 0x410743
xor eax, eax
inc eax
push eax
push dword [0x479744]
call esi
push dword [0x479744]
mov ebx, eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [0x470958]
test eax, eax
je 0x410754
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
pop ecx
call dword [sym.imp.WS2_32.dll_WSACleanup]
xor eax, eax
cmp ebx, 0xffffffff
setne al
dec eax
jmp 0x40eb8d
call fcn.004108cd
int3