Function at 0x41dc50
Capabilities:
Create process on windows
Hide graphical window
Initialize winsock library
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x394
push ebx
push esi
xor ebx, ebx
mov edx, 0x2a3
mov eax, 0x29a
mov ecx, 1
mov esi, 0x64
push edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], 0x172
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0x189
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], 0x1f4
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], 0x1a1
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0x1b8
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], 0xc8
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], 0x28a
mov dword [esp + 0x88], 0x1e5
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0x206
mov dword [esp + 0x98], 5
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], ebx
mov dword [0x63f3bc], 0x63f3d0
call fcn.00422660
mov ecx, dword [0x63f3bc]
mov dword [ecx + 4], eax
mov ecx, 0x6694d0
call fcn.0043d530
mov edx, dword [0x63f3bc]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push 0x66c0e4
push str._smenulocalnet.rom
mov dword [edx + 8], eax
lea eax, [esp + 0xc4]
push eax
call edi
lea ecx, [esp + 0xc8]
push ecx
call fcn.00401070
mov edx, dword [0x63f3bc]
push 0x66c0e4
push str._swav_selrole.rom
mov dword [edx], eax
lea eax, [esp + 0xd4]
push eax
call edi
add esp, 0x1c
lea ecx, [esp + 0xbc]
push ecx
mov ecx, 0x6694d0
call fcn.0043cd10
mov edx, dword [0x63f3bc]
mov dword [edx + 0x3d0], eax
mov eax, dword [0x63f3bc]
mov dword [eax + 0x3d4], 0xffffffff
call fcn.00401950
push ebx
push 0x3ff00000
push ebx
push ebx
mov esi, eax
push ebx
push ebx
mov dword [esp + 0x3c], esi
push ebx
mov ecx, dword [0x63f3bc]
mov edx, dword [ecx]
push edx
push 0x258
push 0x190
push esi
call fcn.00401b10
push ebx
push esi
call fcn.00402840
call fcn.00407d20
push 8
push 8
push 1
push 1
push ebx
call fcn.0040bd00
mov al, byte [ebp + 8]
add esp, 0x48
test al, al
jne 0x41de31
push 3
push 4
push 1
call fcn.0040c310
add esp, 0xc
jmp 0x41de67
push 0x66c0e4
lea eax, [esp + 0xc0]
push str._smusicmenu.wav
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0xbc]
push ecx
mov ecx, 0x6694d0
call fcn.0043ced0
push 1
push eax
mov ecx, 0x6694d0
call fcn.0043d1d0
call fcn.00401950
mov edx, dword [0x63f3bc]
push ebx
push 0x3ff00000
push ebx
push ebx
mov dword [edx + 0x10], eax
mov eax, dword [0x6349a8]
mov ecx, dword [0x63f3bc]
push 0x3e8
push ebx
mov edx, dword [ecx + 0x10]
push 9
push eax
push 0x24e
push 0x2b2
push edx
call fcn.00401b10
mov eax, dword [ebp + 8]
and eax, 0xff
push eax
call fcn.00421350
mov ecx, dword [0x63f3bc]
xor eax, eax
add esp, 0x30
lea edx, [ecx + 0x1c]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x41def0
mov edi, str._noname_
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x24]
mov al, byte [ebp + 8]
test al, al
jne 0x41defc
call fcn.0040c340
mov eax, dword [0x63f3bc]
mov dword [0x63ba0c], 0x634bc8
cmp dword [eax + 0x14], ebx
je 0x41f14e
mov byte [0x63f7a8], 2
mov dword [eax + 0x18], ebx
mov ecx, dword [0x63f3bc]
mov eax, 0x34
mov dword [ecx + 0x14], ebx
mov edx, dword [0x63f3bc]
add eax, 4
cmp eax, 0x214
mov dword [eax + edx - 4], 3
jl 0x41df2c
call fcn.00401950
mov ecx, dword [0x63f3bc]
xor edx, edx
mov dword [ecx + 0x3b0], eax
mov eax, dword [0x63ba0c]
xor ecx, ecx
mov dl, byte [eax + 0x10]
mov cl, byte [edx + str._a_b_t_n_v_f_r]
mov edx, dword [0x63f3bc]
mov esi, ecx
mov eax, dword [edx]
push esi
push eax
call fcn.00401770
mov ecx, dword [0x63f3bc]
push 0
push 0x3ff00000
push 0
mov edx, dword [ecx]
mov ecx, dword [ecx + 0x3b0]
push 0
push 0x3e8
push 0
push esi
push edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
push edx
push eax
push ecx
call fcn.00401b10
add esp, 0x34
xor edi, edi
mov esi, 0x3b8
mov ebx, 0x274
call fcn.00401950
mov edx, dword [0x63f3bc]
push 0
push 0x3ff00000
push 0
mov dword [esi + edx], eax
mov eax, dword [0x63f3bc]
push 0
push 0x44c
mov ecx, dword [eax]
mov edx, dword [esi + eax]
push edi
push 0x11
push ecx
push 0x10e
push ebx
push edx
call fcn.00401b10
add esp, 0x2c
add esi, 4
inc edi
add ebx, 0x76
cmp esi, 0x3c0
jl 0x41dfb7
call fcn.00401950
mov ecx, dword [0x63f3bc]
push 0x12
mov dword [ecx + 0x3c0], eax
mov edx, dword [0x63f3bc]
mov eax, dword [edx]
push eax
call fcn.00401770
mov ecx, dword [0x63f3bc]
push 0
push 0x3ff00000
push 0
mov edx, dword [ecx]
mov ecx, dword [ecx + 0x3c0]
push 0
push 0x41a
push 0
push 0x12
push edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
push edx
push eax
push ecx
call fcn.00401b10
mov edx, dword [0x63f3bc]
push 0x40
push 0x80
push 0x100
mov eax, dword [edx + 0x3c0]
push 2
push eax
call fcn.00402a10
add esp, 0x48
call fcn.00407b00
mov ecx, dword [0x63f3bc]
push 0
push 0x3ff00000
push 0
mov dword [ecx + 0x3c4], eax
mov edx, dword [0x6349a8]
push 6
push edx
call fcn.00401880
mov ecx, dword [0x63ba0c]
add esp, 8
mov edx, dword [0x6349a8]
push eax
xor eax, eax
mov al, byte [ecx + 0x10]
push 0x44c
push 1
push eax
push 0xe
push edx
call fcn.004017d0
add esp, 0xc
push eax
mov eax, dword [0x63f3bc]
push 0xf0
push 0x288
mov ecx, dword [eax + 0x3c4]
push ecx
call fcn.00408a50
call fcn.00401950
mov edx, dword [0x63f3bc]
push 0
push 0x3ff00000
push 0
mov dword [edx + 0x3b4], eax
mov ecx, dword [0x63f3bc]
mov edx, dword [0x63ba0c]
push 0
mov eax, dword [ecx]
push 0x3e8
push 0
push 0x10
push eax
xor eax, eax
mov al, byte [edx + 1]
lea edx, [eax + eax*2]
lea eax, [eax + edx*4]
lea edx, [eax + eax + 0x142]
mov eax, dword [ecx + 0x3b4]
push edx
push 0x2bc
push eax
call fcn.00401b10
add esp, 0x54
xor ebx, ebx
lea edi, [esp + 0x1c0]
xor esi, esi
mov ecx, dword [0x63f3bc]
lea eax, [ebx + 0x14]
push esi
push eax
mov edx, dword [ecx]
push edx
call fcn.004017d0
add esp, 0xc
mov dword [edi], eax
inc esi
add edi, 4
cmp esi, 0xa
jl 0x41e148
inc ebx
cmp ebx, 2
jl 0x41e146
mov edi, 4
lea esi, [esp + 0x30]
call fcn.00407b00
mov ebx, eax
mov eax, dword [0x63ba0c]
lea edx, [esp + 0xa4]
mov dword [esi - 4], ebx
mov ecx, dword [edi + eax]
push ecx
push 0x494050
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [0x63f3bc]
add esp, 0xc
lea eax, [esp + 0xa4]
mov edx, dword [ecx]
push eax
push 0
push 0x3ff00000
push 0
push 3
push edx
call fcn.00401880
add esp, 8
mov edx, dword [esi + 8]
push eax
mov eax, dword [esi]
push 0x3e8
lea eax, [eax + eax*4]
lea ecx, [esp + eax*8 + 0x1d8]
mov eax, dword [esi + 4]
push ecx
push edx
push eax
push ebx
call fcn.00408c80
add esp, 0x28
cmp edi, 0xc
jge 0x41e1f2
push 2
jmp 0x41e1f4
push 0xffffffffffffffff
push ebx
call fcn.00408460
add esp, 8
call fcn.00401950
mov edx, dword [0x63f3bc]
push 0
push 0x3ff00000
push 0
push 0
mov ecx, eax
mov eax, dword [edx]
push 0x3e8
push 0
push 0x16
mov dword [esi + 0xc], ecx
mov edx, dword [esi + 0x14]
push eax
mov eax, dword [0x63ba0c]
push edx
mov edx, dword [esi + 0x20]
mov eax, dword [edi + eax]
mov ebx, dword [esi + 0x10]
sub eax, edx
cdq
idiv dword [esi + 0x1c]
imul eax, dword [esi + 0x18]
add eax, ebx
push eax
push ecx
call fcn.00401b10
add edi, 4
add esp, 0x2c
add esi, 0x28
cmp edi, 0x10
jl 0x41e178
mov edi, 0x1a
mov esi, 0x3c8
call fcn.00401950
mov ecx, dword [0x63f3bc]
push edi
mov dword [esi + ecx], eax
mov edx, dword [0x63f3bc]
mov eax, dword [edx]
push eax
call fcn.00401770
mov ecx, dword [0x63f3bc]
push 0
push 0x3ff00000
push 0
mov edx, dword [ecx]
mov ecx, dword [esi + ecx]
push 0
push 0x3e8
push 0
push edi
push edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
push edx
push eax
push ecx
call fcn.00401b10
mov edx, dword [0x63f3bc]
push 0
mov eax, dword [esi + edx]
push eax
call fcn.00401a30
add esp, 0x3c
add esi, 4
inc edi
lea ecx, [edi - 0x1a]
cmp ecx, 2
jl 0x41e265
mov edx, dword [0x63f3bc]
push 0x90
add edx, 0x1c
push edx
call fcn.00413370
mov esi, eax
call fcn.00407b00
movsx ecx, word [esi + 4]
xor edi, edi
mov edx, 0x1a
push edi
push 0x3ff00000
sub edx, ecx
push edi
movsx ecx, word [esi + 2]
push edi
push 0x64
sar edx, 1
push 1
add edx, 0x37
push esi
push edx
mov edx, 0x7e
mov dword [esp + 0x50], eax
sub edx, ecx
sar edx, 1
add edx, 0x26e
push edx
push eax
call fcn.00408a50
add esp, 0x30
call fcn.004454f0
mov eax, dword [0x63f3bc]
mov ebx, 0x64
mov esi, 0x260
mov dword [eax + 0x30], edi
call fcn.00407b00
mov ecx, dword [0x63f3bc]
push 0
push 0x3ff00000
push 0
mov dword [esi + ecx], eax
mov edx, dword [0x63f3bc]
push 6
mov eax, dword [edx]
push eax
call fcn.00401880
mov ecx, dword [0x63f3bc]
add esp, 8
mov edx, dword [ecx]
push eax
push 0x7d0
push 9
push edi
push 0x17
push edx
call fcn.004017d0
add esp, 0xc
push eax
mov eax, dword [0x63f3bc]
push ebx
push 0x1ef
mov ecx, dword [esi + eax]
push ecx
call fcn.00408a50
mov eax, dword [0x63f3bc]
add esp, 0x28
cmp edi, dword [eax + 0x30]
jne 0x41e3b5
mov edx, dword [esi + eax]
push 0x100
push edx
jmp 0x41e3bb
mov eax, dword [esi + eax]
push 0x70
push eax
call fcn.004082a0
add esp, 8
add ebx, 0x1b
call fcn.004454f0
add esi, 4
inc edi
cmp esi, 0x290
jl 0x41e342
mov esi, 0x73
mov eax, 0x248
mov dword [esp + 0x14], esi
jmp 0x41e3f3
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ebx, eax
mov edi, 0x96
add eax, 8
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], eax
jmp 0x41e40f
mov esi, dword [esp + 0x14]
call fcn.00401950
mov ecx, dword [0x63f3bc]
push 0
push 0x3ff00000
push 0
mov dword [ebx + ecx - 0x18], eax
mov eax, dword [0x63f3bc]
push 0
push 0x64
mov edx, dword [eax]
mov eax, dword [ebx + eax - 0x18]
push 0
push 2
lea ecx, [esi + 0x30]
push edx
push ecx
push edi
push eax
call fcn.00401b10
mov ecx, dword [0x63f3bc]
push 0x20
push 0x100
push 0
mov edx, dword [ebx + ecx - 0x18]
push 1
push edx
call fcn.00402a10
add esp, 0x40
call fcn.00401950
mov ecx, dword [0x63f3bc]
push 0
push 0x3ff00000
push 0
mov dword [ebx + ecx], eax
mov eax, dword [0x63f3bc]
push 0
push 0x3e8
mov edx, dword [eax]
mov eax, dword [ebx + eax]
push 0
push 0x18
push edx
push esi
push edi
push eax
call fcn.00401b10
mov ecx, dword [0x63f3bc]
push 0
mov edx, dword [ebx + ecx]
push edx
call fcn.00401a30
add esp, 0x34
xor esi, esi
jmp 0x41e4b9
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
lea ebx, [ebx + esi - 0x174]
shl ebx, 2
call fcn.00401950
mov ecx, dword [0x63f3bc]
mov edx, esi
and edx, reloc.WSOCK32.dll_accept
mov dword [ebx + ecx], eax
jns 0x41e4e0
dec edx
or edx, 0xfffffffe
inc edx
jne 0x41e50f
mov eax, esi
add edi, 5
cdq
sub eax, edx
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], 0x4948f8
sar eax, 1
lea ecx, [eax*8]
sub ecx, eax
shl ecx, 3
sub edi, ecx
add edi, 0x30
jmp 0x41e522
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], str._____89:__
lea edi, [edx + 0x14]
xor eax, eax
push 0
cmp esi, 3
push 0x3ff00000
push 0
push 0
sete al
push 0x1f4
push eax
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0xe
idiv ecx
mov eax, dword [esp + 0x38]
mov cl, byte [edx + eax]
mov eax, dword [0x63f3bc]
push ecx
mov ecx, dword [esp + 0x34]
mov edx, dword [eax]
push edx
mov edx, dword [ebx + eax]
push edi
push ecx
push edx
call fcn.00401b10
mov eax, dword [0x63f3bc]
push 0
mov ecx, dword [ebx + eax]
push ecx
call fcn.00401a30
mov edi, dword [esp + 0x40]
lea ebx, [edi + esi - 0x1a4]
shl ebx, 2
call fcn.004134b0
mov edx, dword [0x63f3bc]
lea edi, [edi + esi - 0x18c]
shl edi, 2
mov dword [ebx + edx], eax
call fcn.00407b00
mov ecx, dword [0x63f3bc]
push 0
push 0x3ff00000
push 0
mov dword [edi + ecx], eax
mov eax, dword [0x63f3bc]
mov edx, dword [esi*8 + 0x49491c]
mov ecx, dword [esp + 0x54]
mov ebx, dword [ebx + eax]
push 0
lea edx, [edx + ecx + 0xa]
push 0x4b0
movsx ecx, word [ebx + 2]
push 1
push ebx
push edx
mov edx, dword [esi*8 + 0x494918]
mov eax, dword [edi + eax]
sar ecx, 1
sub edx, ecx
mov ecx, dword [esp + 0x64]
lea edx, [edx + ecx + 5]
push edx
push eax
call fcn.00408a50
mov ecx, dword [0x63f3bc]
add esp, 0x5c
mov edx, dword [edi + ecx]
push 0
push edx
call fcn.00407dc0
add esp, 8
inc esi
cmp esi, 4
jl 0x41e4b1
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
add edi, 0xe6
add ebx, 4
cmp edi, 0x262
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
jl 0x41e40b
mov eax, dword [esp + 0x14]
add eax, 0x85
cmp eax, 0x202
mov dword [esp + 0x14], eax
jl 0x41e3eb
call fcn.00401950
mov ecx, dword [0x63f3bc]
push 0
push 0x3ff00000
push 0
mov dword [ecx + 0xc], eax
mov eax, dword [0x63f3bc]
push 0
push 0x514
mov edx, dword [eax]
mov eax, dword [eax + 0xc]
push 0
push 3
push edx
push 0
push 0
push eax
call fcn.00401b10
mov ecx, dword [0x63f3bc]
push 0
mov edx, dword [ecx + 0xc]
push edx
call fcn.00401a30
add esp, 0x34
mov ecx, 0x63ba28
call fcn.0041f5e0
lea eax, [esp + 0x210]
push eax
push 0x101
call sub.WSOCK32.dll_WSAStartup
mov ecx, dword [0x66c0a8]
mov edx, dword [0x66c0d0]
push 0
push 0x41f440
push ecx
push 0x83
push edx
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov dword [0x63f3c8], eax
call fcn.00421090
mov eax, dword [0x63f3c8]
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0x66c0a8]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov al, byte [ebp + 8]
test al, al
jne 0x41e71b
mov eax, dword [0x63f3bc]
mov edx, dword [0x49308c]
add eax, 0x1c
push edx
push eax
jmp 0x41e72c
mov edx, dword [0x63f3bc]
mov ecx, dword [0x4930ec]
add edx, 0x1c
push ecx
push edx
push str._______________________s__s
call fcn.0041d690
add esp, 0xc
mov dword [esp + 0x10], 0xffffffff
push 0
push 0x40000000
push 0
call fcn.00441fd0
add esp, 0xc
call fcn.004454f0
mov esi, dword [esp + 0x10]
cmp esi, 3
jne 0x41e7f9
cmp dword [0x63f300], esi
jne 0x41e7f9
push 0
call fcn.004234d0
add esp, 4
test eax, eax
je 0x41e7f9
call fcn.00423480
mov edi, eax
call fcn.00423490
mov ecx, dword [esp + 0x1c]
lea esi, [ecx + ecx*4]
shl esi, 3
mov ebx, dword [esp + esi + 0x40]
sub edi, ebx
jns 0x41e7a0
xor edi, edi
jmp 0x41e7aa
cmp edi, 0x32
jle 0x41e7aa
mov edi, 0x32
mov eax, edi
cdq
idiv dword [esp + esi + 0x48]
mov edx, dword [esp + esi + 0x50]
imul eax, dword [esp + esi + 0x4c]
add eax, edx
mov edx, dword [0x63ba0c]
mov dword [edx + ecx*4 + 4], eax
mov eax, dword [0x63ba0c]
mov edx, dword [esp + esi + 0x2c]
mov ecx, dword [eax + ecx*4 + 4]
push ecx
push 0x494050
push edx
call fcn.004081b0
mov eax, dword [esp + esi + 0x50]
mov ecx, dword [esp + esi + 0x48]
add ebx, edi
push eax
push ebx
push ecx
call fcn.00402620
add esp, 0x18
jmp 0x41eec2
call fcn.004234a0
test eax, eax
je 0x41e94e
call fcn.00423480
mov ebx, eax
call fcn.00423490
cmp esi, 0xffffffff
mov dword [esp + 0xc], eax
jne 0x41e84f
xor esi, esi
lea edi, [esp + 0x3c]
mov edx, dword [esp + 0xc]
mov eax, dword [edi]
push edx
push ebx
push eax
call fcn.00402b00
add esp, 0xc
test eax, eax
jne 0x41e841
inc esi
add edi, 0x28
cmp esi, 3
jl 0x41e821
jmp 0x41e882
mov dword [esp + 0x10], 3
mov dword [esp + 0x1c], esi
jmp 0x41e882
xor esi, esi
lea edi, [esp + 0x3c]
mov ecx, dword [esp + 0xc]
mov edx, dword [edi]
push ecx
push ebx
push edx
call fcn.00402b00
add esp, 0xc
test eax, eax
jne 0x41e875
inc esi
add edi, 0x28
cmp esi, 3
jl 0x41e855
jmp 0x41e87a
cmp esi, 0xffffffff
jne 0x41e882
mov dword [esp + 0x10], 0xffffffff
mov eax, dword [0x63f3bc]
push 0
mov ecx, dword [eax + 0xc]
push ecx
call fcn.00401a30
add esp, 8
xor esi, esi
mov edi, 0x230
mov eax, dword [0x63f3bc]
mov edx, dword [esp + 0xc]
push edx
push ebx
mov ecx, dword [edi + eax]
push ecx
call fcn.00402b00
add esp, 0xc
test eax, eax
je 0x41e93e
mov eax, dword [0x63f3bc]
mov ecx, dword [eax + 0x30]
lea edx, [ecx + ecx*2]
lea ecx, [esi + edx*2]
mov edx, 3
mov ecx, dword [eax + ecx*4 + 0x34]
cmp ecx, edx
jne 0x41e8f8
cmp dword [0x63f300], edx
jne 0x41e92c
mov ecx, dword [eax]
push edx
mov edx, dword [eax + 0xc]
push ecx
push edx
call fcn.00402320
mov eax, dword [0x63f3bc]
push 1
mov ecx, dword [eax + 0xc]
push ecx
jmp 0x41e91f
cmp ecx, 2
jne 0x41e92c
cmp dword [0x63f300], edx
jne 0x41e92c
mov edx, dword [eax]
mov eax, dword [eax + 0xc]
push 6
push edx
push eax
call fcn.00402320
mov ecx, dword [0x63f3bc]
push 1
mov edx, dword [ecx + 0xc]
push edx
call fcn.00401a30
mov eax, dword [0x63f3bc]
add esp, 0x14
mov ecx, dword [esp + 0xc]
mov edx, dword [eax + 0xc]
push ecx
push ebx
push edx
call fcn.00402620
add esp, 0xc
add edi, 4
inc esi
cmp edi, 0x248
jl 0x41e89c
push 1
call fcn.004234d0
add esp, 4
test eax, eax
jne 0x41e9c6
call fcn.00423520
test eax, eax
jne 0x41e9c6
push 1
call fcn.004234f0
add esp, 4
test eax, eax
jne 0x41e980
call fcn.00423530
test eax, eax
je 0x41eec2
call fcn.00423480
mov esi, eax
call fcn.00423490
push eax
mov eax, dword [0x63f3bc]
push esi
mov ecx, dword [eax + 0x3b0]
push ecx
call fcn.00402b00
add esp, 0xc
test eax, eax
je 0x41eec2
cmp dword [0x63f300], 3
jne 0x41eec2
push 1
call fcn.0041f1c0
add esp, 4
jmp 0x41eec2
call fcn.00423480
mov ebx, eax
mov dword [esp + 0x18], ebx
call fcn.00423490
mov edx, dword [0x63f3bc]
mov edi, eax
push edi
push ebx
mov eax, dword [edx + 0x3b8]
push eax
call fcn.00402b00
add esp, 0xc
test eax, eax
je 0x41ea0b
cmp dword [0x63f300], 3
jne 0x41ea0b
push 0
call fcn.0041f1c0
add esp, 4
jmp 0x41eec2
mov ecx, dword [0x63f3bc]
push edi
push ebx
mov edx, dword [ecx + 0x3bc]
push edx
call fcn.00402b00
add esp, 0xc
test eax, eax
je 0x41ea3e
cmp dword [0x63f300], 3
jne 0x41ea3e
push 1
call fcn.0041f1c0
add esp, 4
jmp 0x41eec2
mov eax, dword [0x63f3bc]
push edi
push ebx
mov ecx, dword [eax + 0x3b0]
push ecx
call fcn.00402b00
add esp, 0xc
test eax, eax
mov eax, dword [0x63f300]
je 0x41ea71
cmp eax, 3
jne 0x41ea71
push 0
call fcn.0041f1c0
add esp, 4
jmp 0x41eec2
cmp ebx, 0x2a4
jl 0x41eb3f
cmp ebx, 0x2d5
jg 0x41eb3f
cmp edi, 0x130
jl 0x41ead5
cmp edi, 0x144
jg 0x41ead5
cmp eax, 3
jne 0x41ead5
mov edx, dword [0x63ba0c]
xor eax, eax
mov byte [edx + 1], 0
mov ecx, dword [0x63ba0c]
mov al, byte [ecx + 1]
lea edx, [eax + eax*2]
lea eax, [eax + edx*4]
mov edx, dword [0x63f3bc]
lea ecx, [eax + eax + 0x142]
mov eax, dword [edx + 0x3b4]
push ecx
push 0x2bc
push eax
jmp 0x41eb27
cmp ebx, 0x2d5
jg 0x41eb3f
cmp edi, 0x149
jl 0x41eb3f
cmp edi, 0x15d
jg 0x41eb3f
cmp eax, 3
jne 0x41eb3f
mov ecx, dword [0x63ba0c]
xor eax, eax
mov byte [ecx + 1], 1
mov edx, dword [0x63ba0c]
mov al, byte [edx + 1]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
mov ecx, dword [0x63f3bc]
lea eax, [edx + edx + 0x142]
mov edx, dword [ecx + 0x3b4]
push eax
push 0x2bc
push edx
call fcn.00402620
push 0
push 0
push 5
call fcn.0040aa40
add esp, 0x18
jmp 0x41eec2
mov dword [esp + 0xc], 0
mov esi, 0x260
mov eax, dword [0x63f3bc]
push edi
push ebx
mov ecx, dword [esi + eax]
push ecx
call fcn.004093a0
add esp, 0xc
test eax, eax
je 0x41eb6c
cmp dword [0x63f300], 3
je 0x41eb82
mov edx, dword [esp + 0xc]
add esi, 4
inc edx
cmp esi, 0x290
mov dword [esp + 0xc], edx
jl 0x41eb4c
jmp 0x41eb91
mov edx, dword [esp + 0xc]
mov ecx, 0x63ba28
push edx
call fcn.00420c30
mov eax, dword [0x63f3bc]
push edi
push ebx
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00402b00
add esp, 0xc
test eax, eax
je 0x41ebec
push 0
push 0
push 3
call fcn.0040aa40
mov edi, 0x637434
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, dword [0x63f3bc]
mov edx, ecx
mov esi, edi
mov edi, 0x64d2f5
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [eax + 0x18], 1
jmp 0x41eec2
mov ecx, dword [0x63f3bc]
push edi
push ebx
mov edx, dword [ecx + 0x3c8]
push edx
call fcn.00402b00
add esp, 0xc
test eax, eax
je 0x41ec71
push 0
push 0
push 3
call fcn.0040aa40
mov eax, dword [0x63f3bc]
push str.server.exe
push 0x66c0e4
lea ecx, [esp + 0xd0]
push str._s_s
push ecx
mov dword [eax + 0x14], 1
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
lea edx, [esp + 0xbc]
push 0
push edx
call dword [sym.imp.KERNEL32.dll_WinExec]
mov ecx, 0x63ba28
call fcn.00420580
mov eax, dword [0x63f3bc]
mov ecx, dword [eax + 0x3c8]
push ecx
call fcn.00402d00
add esp, 4
jmp 0x41eec2
mov edx, dword [0x63f3bc]
push edi
push ebx
mov eax, dword [edx + 0x3cc]
push eax
call fcn.00402b00
add esp, 0xc
test eax, eax
je 0x41ed14
xor esi, esi
push esi
push esi
push 4
call fcn.0040aa40
mov eax, dword [0x63f300]
add esp, 0xc
cmp eax, 1
jne 0x41ecdd
mov ecx, 0x63ba28
mov dword [0x63f3cc], esi
call fcn.0041fe00
cmp dword [0x63f3cc], esi
jne 0x41eccd
call fcn.004454f0
cmp dword [0x63f3cc], esi
je 0x41ecc0
mov dword [0x63f3cc], esi
call fcn.0041f400
jmp 0x41eec2
cmp eax, 2
jne 0x41ed01
mov ecx, dword [0x63f3bc]
push 0x63f3a8
mov edx, dword [ecx + 0x214]
push edx
push str.CmdLeave__d__s
call fcn.0041d690
add esp, 0xc
push esi
call fcn.0041d6f0
add esp, 4
call fcn.0041f400
jmp 0x41eec2
xor ebx, ebx
mov esi, 0x230
mov ecx, dword [0x63f3bc]
mov eax, dword [esp + 0x18]
push edi
push eax
mov edx, dword [esi + ecx]
push edx
call fcn.00402b00
add esp, 0xc
test eax, eax
jne 0x41ed48
add esi, 4
inc ebx
cmp esi, 0x248
jl 0x41ed1b
jmp 0x41eec2
mov ecx, dword [0x63f3bc]
mov eax, dword [ecx + 0x30]
lea eax, [eax + eax*2]
lea ebx, [ebx + eax*2]
mov eax, dword [ecx + ebx*4 + 0x34]
cmp eax, 3
jne 0x41ee44
mov eax, dword [0x63f300]
cmp eax, 1
je 0x41eec2
cmp eax, 2
je 0x41eec2
mov ecx, 0x63ba28
call fcn.00420b80
mov edi, 0x63f3a8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x63ba14
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x63ba28
call fcn.0041f7d0
test eax, eax
jne 0x41edc7
mov ecx, 0x63ba28
call fcn.0041f720
jmp 0x41eec2
push 0x14
mov esi, 1
push 0x63f3a8
push 0x63f28c
mov dword [0x63f300], esi
mov dword [0x63f288], esi
call dword [sym.imp.MSVCRT.dll_strncpy]
mov eax, dword [0x63f3bc]
push esi
mov dword [eax + 0x214], ebx
mov ecx, dword [0x63f3bc]
mov dword [ecx + ebx*4 + 0x34], esi
call fcn.0041d6f0
mov edx, dword [0x63f3c8]
add esp, 0x10
push 0
push 0
push 0x400
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [0x63f3bc]
mov edx, dword [0x493094]
mov ecx, dword [eax + 0x30]
add eax, 0x1c
add ecx, 0x41
push ecx
push edx
push eax
push str._______________________s__s_area__c_
call fcn.0041d690
add esp, 0x10
jmp 0x41eec2
cmp eax, 2
jne 0x41eec2
mov eax, dword [0x63f300]
cmp eax, 1
je 0x41eec2
cmp eax, 2
je 0x41eec2
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0x3c
idiv ecx
mov esi, edx
test esi, esi
je 0x41ee7a
call fcn.004454f0
test eax, eax
je 0x41ee76
dec esi
test esi, esi
jne 0x41ee6c
mov ecx, 0x63ba28
call fcn.00420b80
mov edx, dword [0x63f3bc]
mov ecx, 0x63ba28
mov dword [edx + 0x214], ebx
call fcn.00420ae0
test eax, eax
je 0x41eec2
mov ecx, 0x63ba28
call fcn.0041f8c0
test eax, eax
jne 0x41eeb8
mov ecx, 0x63ba28
call fcn.0041f720
jmp 0x41eec2
mov dword [0x63f300], 2
cmp dword [0x66c0e0], 1
je 0x41eee2
mov eax, dword [0x63f3bc]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x41eee2
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x41e752
push 0x80
push 0x63f304
push 0x64d2f5
call dword [sym.imp.MSVCRT.dll_strncpy]
mov eax, dword [0x63f300]
mov edi, 3
add esp, 0xc
cmp eax, edi
je 0x41efbe
mov ecx, dword [0x63f3bc]
mov eax, dword [0x4930e8]
add ecx, 0x1c
push eax
push ecx
push str._______________________s__s
call fcn.0041d690
mov eax, dword [0x63f300]
add esp, 0xc
cmp eax, 1
jne 0x41ef53
mov ecx, 0x63ba28
mov dword [0x63f300], edi
call fcn.0041fe00
push 0
push 0x3ff00000
push 0
call fcn.00441fd0
jmp 0x41ef7a
cmp eax, 2
jne 0x41ef7d
mov eax, dword [0x63f3bc]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x41ef7d
mov edx, dword [eax + 0x214]
push 0x63f3a8
push edx
push str.CmdLeave__d__s
call fcn.0041d690
add esp, 0xc
mov eax, dword [0x63f3bc]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x41ef8e
call fcn.0041db50
mov ecx, 0x63ba28
mov dword [0x63f300], edi
call fcn.0041f740
mov ecx, 0x63ba28
call fcn.0041f780
mov ecx, 0x63ba28
call fcn.0041f620
mov ecx, 0x63ba28
call fcn.0041f9a0
jmp 0x41efdc
mov edx, dword [0x63f3bc]
mov ecx, dword [0x493090]
add edx, 0x1c
push ecx
push edx
push str._______________________s__s
call fcn.0041d690
add esp, 0xc
mov esi, 0x3c8
mov eax, dword [0x63f3bc]
mov ecx, dword [esi + eax]
push ecx
call fcn.00401a90
add esi, 4
add esp, 4
cmp esi, 0x3d0
jl 0x41efe1
lea esi, [esp + 0x3c]
mov edx, dword [esi - 0x10]
push edx
call fcn.00407cb0
mov eax, dword [esi]
push eax
call fcn.00401a90
add esp, 8
add esi, 0x28
dec edi
jne 0x41f001
mov esi, 0x3b8
mov ecx, dword [0x63f3bc]
mov edx, dword [esi + ecx]
push edx
call fcn.00401a90
add esi, 4
add esp, 4
cmp esi, 0x3c0
jl 0x41f020
mov eax, dword [0x63f3bc]
mov ecx, dword [eax + 0x3c0]
push ecx
call fcn.00401a90
mov edx, dword [0x63f3bc]
mov eax, dword [edx + 0x3c4]
push eax
call fcn.00407cb0
mov ecx, dword [0x63f3bc]
mov edx, dword [ecx + 0x3b0]
push edx
call fcn.00401a90
mov eax, dword [0x63f3bc]
mov ecx, dword [eax + 0x3b4]
push ecx
call fcn.00401a90
mov edx, dword [0x63f3bc]
mov eax, dword [edx + 0xc]
push eax
call fcn.00401a90
add esp, 0x14
mov esi, 0x350
mov edi, 0x248
mov ecx, dword [0x63f3bc]
mov edx, dword [edi + ecx - 0x18]
push edx
call fcn.00401a90
mov eax, dword [0x63f3bc]
mov ecx, dword [edi + eax]
push ecx
call fcn.00401a90
add esp, 8
mov ebx, 4
mov edx, dword [0x63f3bc]
mov eax, dword [esi + edx - 0x60]
push eax
call fcn.00407cb0
mov ecx, dword [0x63f3bc]
mov edx, dword [esi + ecx]
push edx
call fcn.00401a90
add esp, 8
add esi, 4
dec ebx
jne 0x41f0c5
add edi, 4
cmp edi, 0x260
jl 0x41f09f
mov esi, 0x260
mov eax, dword [0x63f3bc]
mov ecx, dword [eax + esi]
push ecx
call fcn.00407cb0
add esi, 4
add esp, 4
cmp esi, 0x290
jl 0x41f0fd
mov edx, dword [esp + 0x28]
push edx
call fcn.00407cb0
mov eax, dword [0x63f3c8]
add esp, 4
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ecx, 0x63ba28
mov byte [0x63f7a8], 0
call fcn.0041f720
call sub.WSOCK32.dll_WSACleanup
mov esi, dword [esp + 0x24]
xor ebx, ebx
push 8
push 8
push 1
push 2
push ebx
call fcn.0040bd00
mov ecx, dword [0x63f3bc]
mov edx, dword [ecx + 0x10]
push edx
call fcn.00401a90
push esi
call fcn.00401a90
mov eax, dword [0x63f3bc]
mov ecx, dword [eax]
push ecx
call fcn.004016e0
mov edx, dword [0x63f3bc]
add esp, 0x20
mov ecx, 0x6694d0
mov eax, dword [edx + 8]
push eax
call fcn.0043d560
mov ecx, dword [0x63f3bc]
mov edx, dword [ecx + 4]
push edx
call fcn.00422680
mov eax, dword [0x63f3bc]
add esp, 4
mov eax, dword [eax + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret