Function at 0x40c630
Capabilities:
Contain obfuscated stackstrings
Create thread

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x43459e
push eax
mov dword fs:[0], esp
sub esp, 0x1e0
cmp dword [ebp + 8], 2
push esi
push edi
jge 0x40c67d
push str._BROADCAST__invalid_command_line
push 0x446460
call fcn.004013b0
add esp, 8
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, eax
mov dword [ebp - 0x128], 0x30
lea eax, [ebp - 0x128]
mov dword [ebp - 0x124], 0
xorps xmm0, xmm0
mov dword [ebp - 0x120], 0x404900
push eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], esi
movups xmmword [ebp - 0x110], xmm0
mov dword [ebp - 0x100], str.BonjourExample
mov dword [ebp - 0xfc], 0
call dword [sym.imp.USER32.dll_RegisterClassExW]
mov eax, dword [ebp - 0x100]
push 0
push esi
push 0
push 0
push 0
push 0x80000000
push 0
push 0x80000000
push 0
push eax
push eax
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x40c746
push 0x4354bc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._BROADCAST__CreateWindow_Failed:
push 0x446460
call fcn.004013b0
add esp, 8
mov ecx, eax
call fcn.00403c60
push eax
call fcn.004013b0
add esp, 8
mov eax, dword [ebp + 0xc]
sub esp, 0x18
mov edx, esp
mov esi, dword [eax + 4]
mov ecx, esi
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c770
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.00409010
mov ecx, 0x446144
call fcn.0040e790
push 0x272f
sub esp, 0x18
mov esi, esp
push 7
push str.version
push esi
mov dword [esi], 0
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 7
call fcn.00413370
add esp, 0xc
mov byte [esi + 7], 0
mov ecx, 0x446144
call fcn.0040e4c0
push eax
mov dword [0x446140], eax
lea eax, [ebp - 0x50]
push eax
call fcn.0040c1e0
add esp, 8
push 0x14
push str._blizzard._udp__w3xp
push 0
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.0040b4d0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x68], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x58], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [ebp - 0x3c]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x40c860
mov ecx, dword [ebp - 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c856
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d9cf
push edx
push ecx
call fcn.00411e0b
add esp, 8
mov edx, dword [ebp - 0x54]
lea ecx, [ebp - 0x68]
mov eax, dword [ebp - 0x58]
lea edi, [ebp - 0x68]
cmp edx, 0x10
mov dword [ebp - 0x40], 0
lea esi, [ebp - 0x68]
mov dword [ebp - 0x3c], 0xf
cmovae ecx, dword [ebp - 0x68]
cmovae edi, dword [ebp - 0x68]
add eax, ecx
mov ecx, dword [ebp - 0x68]
cmp edx, 0x10
mov byte [ebp - 0x50], 0
cmovae esi, ecx
mov dword [ebp - 0x34], eax
cmp esi, eax
je 0x40c8bb
sub edi, esi
movsx eax, byte [esi]
push eax
call fcn.0041bbbe
mov byte [edi + esi], al
add esp, 4
inc esi
cmp esi, dword [ebp - 0x34]
jne 0x40c8a0
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x68]
push 0
push 0x404460
cmp edx, 0x10
lea eax, [ebp - 0x68]
push 0
cmovae eax, ecx
push eax
push 0
push 0
push 0x446130
call sub.dnssd.dll_DNSServiceBrowse
test eax, eax
je 0x40c908
push 0x4354bc
push eax
push str._BROADCAST__error:
push 0x446460
call fcn.004013b0
add esp, 8
mov ecx, eax
call fcn.00403a70
push eax
call fcn.004013b0
add esp, 8
xor edi, edi
push edi
sub esp, 0x18
mov esi, esp
push 0xb
push str.useLoopback
push esi
mov dword [esi], edi
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0xb
call fcn.00413370
add esp, 0xc
mov byte [esi + 0xb], 0
mov ecx, 0x446144
call fcn.0040e4c0
mov esi, dword [ebp + 0xc]
or ecx, 0xffffffff
push 0
push 0x404600
push 0
push 0
test eax, eax
lea eax, [ebp - 0x68]
push 0xf0f
push 0
cmovne edi, ecx
cmp dword [ebp - 0x54], 0x10
push 0
cmovae eax, dword [ebp - 0x68]
push eax
push dword [esi + 4]
push edi
push 8
push 0x446134
call sub.dnssd.dll_DNSServiceRegister
test eax, eax
je 0x40c9a5
push 0x4354bc
push eax
push str._BROADCAST__error:
push 0x446460
call fcn.004013b0
add esp, 8
mov ecx, eax
call fcn.00403a70
push eax
call fcn.004013b0
add esp, 8
cmp dword [ebp + 8], 3
jne 0x40c9ee
mov eax, dword [esi + 8]
mov ecx, str.show
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40c9d3
test dl, dl
je 0x40c9cf
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c9d3
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c9b3
xor ecx, ecx
jmp 0x40c9d8
sbb ecx, ecx
or ecx, 1
movzx eax, byte [0x44613c]
test ecx, ecx
mov edx, 1
cmove eax, edx
mov byte [0x44613c], al
sub esp, 0x18
mov eax, esp
mov dword [ebp + 8], esp
mov dword [eax], 0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
sub esp, 0x18
mov byte [ebp - 4], 3
mov esi, esp
push 0xb
push str.game_secret
push esi
mov dword [esi], 0
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0xb
call fcn.00413370
add esp, 0xc
mov byte [esi + 0xb], 0
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 2
mov ecx, 0x446144
push eax
call fcn.0040e5b0
sub esp, 0x18
mov eax, esp
mov dword [ebp + 8], esp
mov dword [eax], 0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 1
mov byte [eax], 0x31
sub esp, 0x18
mov byte [ebp - 4], 5
mov esi, esp
push 5
push str._type
push esi
mov dword [esi], 0
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 5
call fcn.00413370
add esp, 0xc
mov byte [esi + 5], 0
lea eax, [ebp - 0x1ec]
mov byte [ebp - 4], 4
mov ecx, 0x446144
push eax
call fcn.0040e5b0
sub esp, 0x18
mov eax, esp
mov dword [ebp + 8], esp
mov dword [eax], 0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 1
mov byte [eax], 0x30
sub esp, 0x18
mov byte [ebp - 4], 7
mov esi, esp
push 8
push str._subtype
push esi
mov dword [esi], 0
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 8
call fcn.00413370
add esp, 0xc
mov byte [esi + 8], 0
lea eax, [ebp - 0x1d4]
mov byte [ebp - 4], 6
mov ecx, 0x446144
push eax
call fcn.0040e5b0
sub esp, 0x18
mov eax, esp
mov dword [ebp + 8], esp
mov dword [eax], 0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 1
mov byte [eax], 0x31
sub esp, 0x18
mov byte [ebp - 4], 9
mov ecx, esp
push 7
push str.game_id
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
lea eax, [ebp - 0x1bc]
mov byte [ebp - 4], 8
push eax
mov ecx, 0x446144
call fcn.0040e5b0
sub esp, 0x18
mov byte [ebp - 4], 0xa
mov ecx, esp
mov dword [ebp + 8], esp
push 0
push 0x4352e4
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
sub esp, 0x18
mov byte [ebp - 4], 0xb
mov ecx, esp
push 5
push str._name
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0xa
push eax
mov ecx, 0x446144
call fcn.0040e5b0
push 0x18
sub esp, 0x18
mov byte [ebp - 4], 0xc
mov ecx, esp
push 0xb
push str.players_max
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
mov ecx, 0x446144
call fcn.0040e4c0
sub esp, 0x18
mov dword [ebp - 0x34], eax
mov ecx, esp
mov dword [ebp + 8], esp
push 1
push 0x4354ac
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
sub esp, 0x18
mov byte [ebp - 4], 0xd
mov ecx, esp
push 6
push str._flags
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
lea eax, [ebp - 0x1a4]
mov byte [ebp - 4], 0xc
push eax
mov ecx, 0x446144
call fcn.0040e5b0
sub esp, 0x18
mov byte [ebp - 4], 0xe
mov ecx, esp
mov dword [ebp + 8], esp
push 1
push 0x43557c
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
sub esp, 0x18
mov byte [ebp - 4], 0xf
mov ecx, esp
push 0xb
push str.players_num
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0xe
push eax
mov ecx, 0x446144
call fcn.0040e5b0
sub esp, 0x18
mov byte [ebp - 4], 0x10
mov ecx, esp
mov dword [ebp + 8], esp
push 1
push 0x4354ac
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
sub esp, 0x18
mov byte [ebp - 4], 0x11
mov ecx, esp
push 0x10
push str.game_create_time
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
lea eax, [ebp - 0x174]
mov byte [ebp - 4], 0x10
push eax
mov ecx, 0x446144
call fcn.0040e5b0
push 4
sub esp, 0x18
mov byte [ebp - 4], 0x12
mov esi, esp
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 8], esp
push 0
push 0x4352e4
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
sub esp, 0x18
mov byte [ebp - 4], 0x13
mov ecx, esp
push 0x14
push str.gamedata_mapGameType
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
push esi
mov ecx, 0x446144
mov byte [ebp - 4], 0x12
call fcn.0040e5b0
lea eax, [ebp - 0x80]
push eax
call fcn.004047d0
add esp, 0x20
push 4
sub esp, 0x18
mov byte [ebp - 4], 0x14
mov esi, esp
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 8], esp
push 0
push 0x4352e4
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
sub esp, 0x18
mov byte [ebp - 4], 0x15
mov ecx, esp
push 0x13
push str.statstring_mapflags
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
push esi
mov ecx, 0x446144
mov byte [ebp - 4], 0x14
call fcn.0040e5b0
lea eax, [ebp - 0x74]
push eax
call fcn.004047d0
add esp, 0x20
push 2
sub esp, 0x18
mov byte [ebp - 4], 0x16
mov esi, esp
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 8], esp
push 3
push 0x435604
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
sub esp, 0x18
mov byte [ebp - 4], 0x17
mov ecx, esp
push 0x13
push str.statstring_mapwidth
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
push esi
mov ecx, 0x446144
mov byte [ebp - 4], 0x16
call fcn.0040e5b0
lea eax, [ebp - 0xb0]
push eax
call fcn.004047d0
add esp, 0x20
push 2
sub esp, 0x18
mov byte [ebp - 4], 0x18
mov esi, esp
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 8], esp
push 3
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push 0x435604
call fcn.00409010
sub esp, 0x18
mov byte [ebp - 4], 0x19
mov ecx, esp
push 0x14
push str.statstring_mapheight
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
push esi
mov ecx, 0x446144
mov byte [ebp - 4], 0x18
call fcn.0040e5b0
lea eax, [ebp - 0xa4]
push eax
call fcn.004047d0
add esp, 0x20
push 4
sub esp, 0x18
mov byte [ebp - 4], 0x1a
mov esi, esp
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 8], esp
push 0
push 0x4352e4
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
sub esp, 0x18
mov byte [ebp - 4], 0x1b
mov ecx, esp
push 0x11
push str.statstring_mapcrc
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
push esi
mov ecx, 0x446144
mov byte [ebp - 4], 0x1a
call fcn.0040e5b0
lea eax, [ebp - 0x98]
push eax
call fcn.004047d0
add esp, 8
mov byte [ebp - 4], 0x1c
mov ecx, esp
mov dword [ebp + 8], esp
push 0
push 0x4352e4
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
sub esp, 0x18
mov byte [ebp - 4], 0x1d
mov ecx, esp
push 0x12
push str.statstring_mappath
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x1c
push eax
mov ecx, 0x446144
call fcn.0040e5b0
sub esp, 0x18
mov byte [ebp - 4], 0x1e
mov dword [ebp + 8], esp
mov ecx, esp
push 0
push 0x4352e4
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
sub esp, 0x18
mov byte [ebp - 4], 0x1f
mov ecx, esp
push 0x13
push str.statstring_hostname
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x1e
push eax
mov ecx, 0x446144
call fcn.0040e5b0
push 0x14
sub esp, 0x18
mov byte [ebp - 4], 0x20
mov esi, esp
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 8], esp
push 0x27
push str.0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
sub esp, 0x18
mov byte [ebp - 4], 0x21
mov ecx, esp
push 0x12
push str.statstring_mapsha1
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
call fcn.00409010
push esi
mov ecx, 0x446144
mov byte [ebp - 4], 0x20
call fcn.0040e5b0
lea eax, [ebp - 0x8c]
push eax
call fcn.004047d0
add esp, 0x20
cmp dword [ebp - 0xe8], 0
mov byte [ebp - 4], 0x22
je 0x40d8cc
cmp dword [ebp - 0x130], 0
je 0x40d8cc
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x7c]
je 0x40d8cc
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x70]
je 0x40d8cc
cmp dword [ebp - 0xd0], 0
je 0x40d8cc
cmp dword [ebp - 0xb8], 0
je 0x40d8cc
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
push 0x17e1
sub esp, 0x18
mov byte [ebp - 4], 0x23
mov ecx, esp
push str.port
call fcn.00402d90
mov ecx, 0x446144
call fcn.0040e4c0
push dword [ebp - 0x70]
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x20]
push dword [ebp - 0x74]
lea eax, [ebp + 8]
push 0
push eax
call fcn.00402570
mov eax, dword [ebp - 0x1c]
mov byte [ebp + 0xb], 0
cmp eax, dword [ebp - 0x18]
je 0x40d1ad
mov byte [eax], 0
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x40d1bd
lea ecx, [ebp + 0xb]
push ecx
push eax
lea ecx, [ebp - 0x20]
call fcn.00401b70
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0xac]
lea ecx, [ebp - 0x20]
push dword [ebp - 0xb0]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00402570
push dword [ebp - 0xa0]
lea eax, [ebp + 8]
push dword [ebp - 0xa4]
lea ecx, [ebp - 0x20]
push dword [ebp - 0x1c]
push eax
call fcn.00402570
push dword [ebp - 0x94]
lea eax, [ebp + 8]
push dword [ebp - 0x98]
lea ecx, [ebp - 0x20]
push dword [ebp - 0x1c]
push eax
call fcn.00402570
cmp dword [ebp - 0xcc], 0x10
lea eax, [ebp + 8]
lea esi, [ebp - 0xe0]
cmovae esi, dword [ebp - 0xe0]
lea ecx, [ebp - 0xe0]
push eax
call fcn.0040b190
lea ecx, [ebp - 0x20]
push dword [eax]
lea eax, [ebp - 0x14]
push esi
push dword [ebp - 0x1c]
push eax
call fcn.00402570
mov edi, dword [ebp - 0x1c]
mov byte [ebp + 0xb], 0
cmp edi, dword [ebp - 0x18]
je 0x40d256
mov byte [edi], 0
inc edi
mov dword [ebp - 0x1c], edi
jmp 0x40d266
lea eax, [ebp + 0xb]
push eax
push edi
lea ecx, [ebp - 0x20]
call fcn.00401b70
mov edi, dword [ebp - 0x1c]
cmp dword [ebp - 0xb4], 0x10
lea eax, [ebp + 8]
lea esi, [ebp - 0xc8]
cmovae esi, dword [ebp - 0xc8]
lea ecx, [ebp - 0xc8]
push eax
call fcn.0040b190
lea ecx, [ebp - 0x20]
push dword [eax]
lea eax, [ebp - 0x14]
push esi
push edi
push eax
call fcn.00402570
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov byte [ebp + 0xb], 0
cmp eax, ecx
je 0x40d2b0
mov byte [eax], 0
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x40d2c3
lea ecx, [ebp + 0xb]
push ecx
push eax
lea ecx, [ebp - 0x20]
call fcn.00401b70
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov byte [ebp + 0xb], 0
cmp eax, ecx
je 0x40d2d4
mov byte [eax], 0
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x40d2e4
lea ecx, [ebp + 0xb]
push ecx
push eax
lea ecx, [ebp - 0x20]
call fcn.00401b70
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x88]
lea ecx, [ebp - 0x20]
push dword [ebp - 0x8c]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00402570
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
push eax
lea ecx, [ebp - 0x50]
call fcn.00402c70
lea eax, [ebp + 0xb]
mov byte [ebp - 4], 0x25
push eax
push 0
lea ecx, [ebp - 0x2c]
mov byte [ebp + 0xb], 0xa
call fcn.00401b70
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
mov byte [ebp + 0xb], al
cmp edi, dword [ebp - 0x24]
je 0x40d351
mov byte [edi], al
inc edi
mov dword [ebp - 0x28], edi
jmp 0x40d361
lea eax, [ebp + 0xb]
push eax
push edi
lea ecx, [ebp - 0x2c]
call fcn.00401b70
mov edi, dword [ebp - 0x28]
cmp dword [ebp - 0x3c], 0x10
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x2c]
cmovae edx, dword [ebp - 0x50]
push dword [ebp + 8]
add eax, edx
cmp dword [ebp - 0x3c], 0x10
lea edx, [ebp - 0x50]
cmovae edx, dword [ebp - 0x50]
push eax
push edx
push edi
call fcn.00402090
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov byte [ebp + 0xb], 0x10
cmp eax, ecx
je 0x40d3a1
mov byte [eax], 0x10
inc eax
mov dword [ebp - 0x28], eax
jmp 0x40d3b4
lea ecx, [ebp + 0xb]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.00401b70
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov byte [ebp + 0xb], 0
cmp eax, ecx
je 0x40d3c5
mov byte [eax], 0
inc eax
mov dword [ebp - 0x28], eax
jmp 0x40d3d2
lea ecx, [ebp + 0xb]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.00401b70
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x24
call fcn.00403670
push 0
sub esp, 0x18
lea eax, [ebp - 0x140]
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.00402c70
sub esp, 0x18
mov byte [ebp - 4], 0x26
mov ecx, esp
push str.game_secret
call fcn.00402d90
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x24
push eax
call fcn.00408730
add esp, 0x38
lea eax, [ebp - 0x1ec]
push 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.00402c70
sub esp, 0x18
mov byte [ebp - 4], 0x27
mov ecx, esp
push str._type
call fcn.00402d90
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x24
push eax
call fcn.00408730
add esp, 0x38
lea eax, [ebp - 0x1d4]
push 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.00402c70
sub esp, 0x18
mov byte [ebp - 4], 0x28
mov ecx, esp
push str._subtype
call fcn.00402d90
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x24
push eax
call fcn.00408730
add esp, 0x38
lea eax, [ebp - 0x1bc]
push 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.00402c70
sub esp, 0x18
mov byte [ebp - 4], 0x29
mov ecx, esp
push str.game_id
call fcn.00402d90
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x24
push eax
call fcn.00408730
add esp, 0x38
lea eax, [ebp - 0xf8]
push 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.00402c70
sub esp, 0x18
mov byte [ebp - 4], 0x2a
mov ecx, esp
push str._name
call fcn.00402d90
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x24
push eax
call fcn.00408730
add esp, 0x38
push 0
sub esp, 0x18
mov esi, esp
mov dword [ebp + 8], esp
mov dword [ebp - 0x14], esi
mov edi, dword [ebp - 0x34]
test edi, edi
jns 0x40d526
mov eax, edi
neg eax
push eax
lea eax, [ebp - 0x3b]
push eax
call fcn.00402530
mov byte [eax - 1], 0x2d
lea ecx, [eax - 1]
jmp 0x40d532
lea eax, [ebp - 0x3b]
push edi
push eax
call fcn.00402530
mov ecx, eax
lea eax, [ebp - 0x3b]
mov dword [esi], 0
add esp, 8
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
cmp ecx, eax
je 0x40d55e
sub eax, ecx
push eax
push ecx
mov ecx, esi
call fcn.00409010
sub esp, 0x18
mov byte [ebp - 4], 0x2b
mov ecx, esp
push str.players_max
call fcn.00402d90
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x24
push eax
call fcn.00408730
add esp, 0x38
lea eax, [ebp - 0x1a4]
push 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.00402c70
sub esp, 0x18
mov byte [ebp - 4], 0x2c
mov ecx, esp
push str._flags
call fcn.00402d90
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x24
push eax
call fcn.00408730
add esp, 0x38
lea eax, [ebp - 0x18c]
push 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.00402c70
sub esp, 0x18
mov byte [ebp - 4], 0x2d
mov ecx, esp
push str.players_num
call fcn.00402d90
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x24
push eax
call fcn.00408730
add esp, 0x38
lea eax, [ebp - 0x174]
push 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.00402c70
sub esp, 0x18
mov byte [ebp - 4], 0x2e
mov ecx, esp
push str.game_create_time
call fcn.00402d90
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x24
push eax
call fcn.00408730
add esp, 0x38
lea eax, [ebp - 0xf8]
push dword [ebp - 0x10]
sub esp, 0x18
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.00402c70
push edi
sub esp, 0xc
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x20]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
call fcn.00402f60
sub esp, 0xc
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x80]
mov ecx, esp
push eax
call fcn.00402f60
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x24
push eax
call fcn.00408950
mov edi, dword [ebp - 0x28]
lea eax, [ebp + 0xb]
mov esi, dword [ebp - 0x2c]
lea ecx, [ebp - 0x50]
add esp, 0x3c
push eax
push edi
push esi
call fcn.00401140
push 0
mov ecx, eax
sub edi, esi
call fcn.00409690
push eax
push edi
push 0x42
push 0
push 0x446138
push dword [0x446134]
call sub.dnssd.dll_DNSServiceAddRecord
lea ecx, [ebp - 0x50]
mov esi, eax
call fcn.00403670
test esi, esi
je 0x40d6e6
push 0x4354bc
push esi
push str._BROADCAST__error:
push 0x446460
call fcn.004013b0
add esp, 8
mov ecx, eax
call fcn.00403a70
push eax
call fcn.004013b0
add esp, 8
mov esi, dword [ebp - 0x30]
push 0x21
push 0x500
push esi
push dword [0x446130]
call sub.dnssd.dll_DNSServiceRefSockFD
mov edi, dword [sym.imp.WS2_32.dll_WSAAsyncSelect]
push eax
call edi
test eax, eax
je 0x40d731
push 0x4354bc
push eax
push str._BROADCAST__error:
push 0x446460
call fcn.004013b0
add esp, 8
mov ecx, eax
call fcn.00403a70
push eax
call fcn.004013b0
add esp, 8
push 0x21
push 0x500
push esi
push dword [0x446134]
call sub.dnssd.dll_DNSServiceRefSockFD
push eax
call edi
test eax, eax
je 0x40d773
push 0x4354bc
push eax
push str._BROADCAST__error:
push 0x446460
call fcn.004013b0
add esp, 8
mov ecx, eax
call fcn.00403a70
push eax
call fcn.004013b0
add esp, 8
push 0x10
call fcn.00411ddb
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
mov byte [ebp - 4], 0x31
test esi, esi
je 0x40d79e
lea eax, [ebp - 0x2c]
mov ecx, esi
push eax
call fcn.00402f60
mov dword [esi + 0xc], 0x40b6b0
jmp 0x40d7a0
xor esi, esi
lea ecx, [ebp + 8]
mov dword [ebp + 8], 0
call fcn.00403790
mov dword [ebp + 8], 0
mov dword [ebp - 0x14], esi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x32
call fcn.00403790
lea eax, [ebp - 0x34]
push eax
push 0
push esi
push 0x4024b0
push 0
push 0
call fcn.0041bda2
add esp, 0x18
mov dword [ebp - 0x38], eax
test eax, eax
je 0x40d9e1
mov ecx, dword [ebp - 0x34]
mov byte [ebp - 4], 0x33
test ecx, ecx
je 0x40d9d4
push ecx
push eax
call fcn.004106dc
add esp, 8
test eax, eax
jne 0x40d9db
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push eax
push eax
push eax
lea eax, [ebp - 0x15c]
push eax
call esi
test eax, eax
je 0x40d854
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x15c]
push eax
call edi
lea eax, [ebp - 0x15c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [ebp - 0x15c]
push eax
call esi
test eax, eax
jne 0x40d825
mov edi, dword [sym.imp.WS2_32.dll_WSAAsyncSelect]
mov eax, dword [0x446138]
test eax, eax
je 0x40d86b
push 0
push eax
push dword [0x446134]
call sub.dnssd.dll_DNSServiceRemoveRecord
mov eax, dword [0x446130]
mov esi, dword [ebp - 0x30]
test eax, eax
je 0x40d893
push 0
push 0x500
push esi
push eax
call sub.dnssd.dll_DNSServiceRefSockFD
push eax
call edi
push dword [0x446130]
call sub.dnssd.dll_DNSServiceRefDeallocate
mov eax, dword [0x446134]
test eax, eax
je 0x40d8b8
push 0
push 0x500
push esi
push eax
call sub.dnssd.dll_DNSServiceRefSockFD
push eax
call edi
push dword [0x446134]
call sub.dnssd.dll_DNSServiceRefDeallocate
lea ecx, [ebp - 0x2c]
xor esi, esi
call fcn.00403800
lea ecx, [ebp - 0x20]
call fcn.00403800
jmp 0x40d8e3
push str._BROADCAST__invalid_config
push 0x446460
call fcn.004013b0
add esp, 8
mov esi, 1
lea ecx, [ebp - 0x8c]
call fcn.00403800
lea ecx, [ebp - 0xc8]
call fcn.00403670
lea ecx, [ebp - 0xe0]
call fcn.00403670
lea ecx, [ebp - 0x98]
call fcn.00403800
lea ecx, [ebp - 0xa4]
call fcn.00403800
lea ecx, [ebp - 0xb0]
call fcn.00403800
lea ecx, [ebp - 0x74]
call fcn.00403800
lea ecx, [ebp - 0x80]
call fcn.00403800
lea ecx, [ebp - 0x174]
call fcn.00403670
lea ecx, [ebp - 0x18c]
call fcn.00403670
lea ecx, [ebp - 0x1a4]
call fcn.00403670
lea ecx, [ebp - 0xf8]
call fcn.00403670
lea ecx, [ebp - 0x1bc]
call fcn.00403670
lea ecx, [ebp - 0x1d4]
call fcn.00403670
lea ecx, [ebp - 0x1ec]
call fcn.00403670
lea ecx, [ebp - 0x140]
call fcn.00403670
mov edx, dword [ebp - 0x54]
cmp edx, 0x10
jb 0x40d9bd
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d9b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d9ef
push edx
push ecx
call fcn.00411e0b
add esp, 8
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
call fcn.00416200
push 1
call fcn.0041081a
push eax
call fcn.004107ed
push 6
mov dword [ebp - 0x34], 0
call fcn.0041081a
call fcn.00416200
int3