Function at 0x739a60
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x1a4
lea ecx, [esp]
call fcn.00758eb0
cmp dword [0x83a6f0], 0x400
jl 0x739a82
mov byte [0xa25860], 0
push ebx
mov bl, byte [0xa25860]
push ebp
push esi
push edi
lea ecx, [esp + 0x24]
call fcn.00751bf0
mov eax, dword [0xa255b4]
mov byte [esp + 0x36], bl
mov ebx, 2
mov byte [esp + 0x34], 0
cmp eax, ebx
mov byte [esp + 0x35], 0
mov dword [esp + 0x24], vtable.CreateGameDialogControl.0
mov byte [0xb102a4], 0
je 0x739ac5
cmp eax, 1
jne 0x739acd
mov dword [0xb1027c], ebx
jmp 0x739b3f
mov dl, 1
xor ecx, ecx
call fcn.00514e00
lea eax, [esp + 0x24]
mov edx, 0x73bac0
push eax
mov ecx, 0xc3
call fcn.005f8d00
cmp eax, ebx
jne 0x739b1e
lea ecx, [esp + 0x30]
mov dword [esp + 0x24], vtable.WonlineStringDialogControl.0
call fcn.00758f80
lea ecx, [esp + 0x24]
call fcn.00730a10
lea ecx, [esp + 0x10]
call fcn.00758f80
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a4
ret
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x14]
call fcn.007591d0
lea ecx, [esp + 0x10]
push 0x7ba6c0
push 0x7d0b2c
call fcn.0075a030
mov eax, dword [0xa5a854]
push eax
mov edx, dword [eax]
call dword [edx + 0x24]
mov ecx, 0x43
xor eax, eax
lea edi, [esp + 0x58]
rep stosd dword es:[edi], eax
mov eax, dword [0xb0e5d0]
lea ecx, [esp + 0x8c]
push eax
push str._ss_game
push ecx
call fcn.0076d684
mov eax, dword [0xb1027c]
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x58], 0x21
mov dword [esp + 0x5c], 1
jge 0x739b95
mov dword [0xb1027c], 4
lea ecx, [esp + 0x10]
call fcn.00759c90
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x12f]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xor ebp, ebp
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0xb1027c]
lea edi, [esp + 0x164]
mov dword [esp + 0x60], ecx
mov ecx, 0x14
rep stosd dword es:[edi], eax
mov ecx, dword [0xb0f08c]
cmp ecx, ebp
jle 0x739bfd
mov eax, 0xb0f3c0
mov edx, dword [eax]
add eax, 0x94
dec ecx
mov dword [esp + 0x20], edx
jne 0x739bef
mov esi, dword [0xb102bc]
mov edi, dword [0xb102c0]
mov edx, dword [0xb102b8]
xor esi, edi
xor esi, edx
call fcn.005c2d20
push eax
push esi
call fcn.0072c550
push eax
lea eax, [esp + 0x170]
push str._d__d__d
push eax
call fcn.0076d684
lea edi, [esp + 0x178]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
mov byte [esp + 0x18c], 0
lea edx, [esp + 0x138]
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
mov eax, dword [0xa255a8]
and ecx, 3
cmp eax, 4
mov eax, dword [0xa255b4]
rep movsb byte es:[edi], byte [esi]
jne 0x739c8c
cmp eax, ebx
jne 0x739c90
mov eax, dword [esp + 0x78]
mov dword [esp + 0x6c], 1
or ah, 0x10
jmp 0x739cef
cmp eax, ebx
je 0x739c95
cmp eax, 1
jne 0x739ca6
mov eax, dword [esp + 0x78]
mov dword [esp + 0x6c], 1
or ah, 8
jmp 0x739cef
mov ecx, dword [esp + 0x34]
mov al, byte [esp + 0x35]
and ecx, 0xff
test al, al
mov eax, dword [esp + 0x78]
mov dword [esp + 0x6c], ecx
je 0x739cc3
or ah, 1
mov cl, byte [esp + 0x36]
test cl, cl
mov byte [0xa25860], cl
je 0x739cef
mov edx, dword [0x83a6f0]
sub edx, 0x320
neg edx
sbb edx, edx
and edx, 0xfffffe00
add edx, 0x400
or eax, edx
add eax, dword [0xb1028c]
mov dword [esp + 0x78], eax
mov eax, dword [0xb10288]
cmp eax, ebp
je 0x739d97
mov eax, dword [0xb0f080]
push eax
push 0xb0f0b4
push str.Leave_Channel__channel__s_type__d_n
call fcn.004068f0
mov eax, dword [0xa5a854]
add esp, 0xc
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
xor edx, edx
mov ecx, str.WOL:LeavingChannel
push 0x1fc9
push str.C:RA2wonline.cpp
call fcn.006eea10
lea ecx, [esp + 0x20]
push eax
call fcn.0075af60
lea edx, [esp + 0x20]
mov ecx, 0xc0
push ebp
call fcn.0073e860
lea ecx, [esp + 0x20]
call fcn.0075aff0
mov eax, dword [0xb10288]
xor esi, esi
cmp eax, ebp
je 0x739d8d
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x96
jge 0x739d8d
push 0x64
call edi
call fcn.00732830
mov eax, dword [0xb10288]
inc esi
cmp eax, ebp
jne 0x739d72
mov ecx, 0x40
call fcn.0073eaf0
call fcn.005b3880
mov dword [0xa255ac], eax
mov edx, dword [eax + 0x28]
mov dword [0xa255c0], edx
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
xor ecx, ecx
call fcn.005c1a80
mov ecx, 0xa27d88
call fcn.005a3f20
call fcn.005c2770
call fcn.005c2790
push 0x71
call fcn.0076d5a7
mov esi, eax
add esp, 4
cmp esi, ebp
je 0x739de8
lea ecx, [esi + 0x28]
call fcn.00522800
mov ebx, esi
jmp 0x739dea
xor ebx, ebx
mov ecx, 0x1c
xor eax, eax
mov edi, ebx
mov edx, 0xb0e5d0
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x1c]
stosb byte es:[edi], al
call fcn.0075c760
lea ecx, [esp + 0x1c]
call fcn.0075b990
push eax
push ebx
call fcn.0076ec19
add esp, 8
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], ebp
mov byte [esp + 0x48], 0
call fcn.004fe5b0
lea ecx, [esp + 0x14]
call fcn.00630930
mov edi, vtable.rc_ptr_class_PlayerProfile_.0
lea ecx, [esp + 0x44]
mov dword [esp + 0x14], edi
call fcn.004fe670
test al, al
je 0x739e72
mov edx, 0xb0e5d0
lea ecx, [esp + 0x38]
call fcn.0072d2e0
mov eax, dword [eax + 4]
lea ecx, [esp + 0x14]
push eax
call fcn.00630980
lea ecx, [esp + 0x38]
mov dword [esp + 0x38], edi
call fcn.00630960
jmp 0x739e82
mov ecx, dword [0xb0e5dc]
push ecx
lea ecx, [esp + 0x18]
call fcn.00630980
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x739eac
mov edx, dword [eax + 0x1c]
push ebp
push edx
mov ecx, 0xa255a8
call fcn.00668b50
mov eax, dword [esp + 0x18]
push ebp
mov ecx, dword [eax + 0x20]
push ecx
mov ecx, 0xa255a8
call fcn.00668c00
mov ecx, 0xa255a8
call fcn.00668b10
mov ecx, ebx
push eax
call fcn.00664d70
mov ecx, 0xa255a8
call fcn.00668b30
mov ecx, ebx
push eax
call fcn.00664da0
mov dword [ebx + 0x65], 1
mov eax, dword [0xa27d90]
cmp dword [0xa27d98], eax
jl 0x739f12
mov cl, byte [0xa27d95]
test cl, cl
jne 0x739ef2
cmp eax, ebp
jne 0x739f2a
mov ecx, dword [0xa27d9c]
cmp ecx, ebp
jle 0x739f2a
mov edx, dword [0xa27d88]
add ecx, eax
push ebp
push ecx
mov ecx, 0xa27d88
call dword [edx + 8]
test al, al
je 0x739f2a
mov ecx, dword [0xa27d98]
mov eax, ecx
inc ecx
mov dword [0xa27d98], ecx
mov ecx, dword [0xa27d8c]
mov dword [ecx + eax*4], ebx
xor ecx, ecx
call fcn.005c29b0
lea ecx, [esp + 0x1c]
call fcn.0075b990
push eax
push 0xa2791e
call fcn.0076ec19
mov eax, dword [0xa5a854]
add esp, 8
lea ecx, [esp + 0x58]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x1c]
cmp eax, 0x800401f8
jne 0x739fd4
push ebp
push 0x730a60
push 0x23c4
push str.C:RA2wonline.cpp
xor edx, edx
mov ecx, str.TXT_BAD_CHANKEY
call fcn.006eea10
mov ecx, eax
xor edx, edx
call fcn.005bdc20
mov ecx, 0xc4
call fcn.0072a3a0
cmp eax, ebp
je 0x739faf
mov ecx, dword [0xb10280]
and ecx, 0xffffff7f
mov dword [0xb10280], ecx
jne 0x739faf
xor edx, edx
mov ecx, eax
call fcn.0072a240
call fcn.0072a570
push 0x540
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp eax, ebp
je 0x73a12d
push eax
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x73a12d
cmp eax, ebp
je 0x73a04d
push ebp
push 0x730a60
push 0x23ca
push str.C:RA2wonline.cpp
xor edx, edx
mov ecx, str.TXT_CANTCREATE_CHAN
call fcn.006eea10
mov ecx, eax
xor edx, edx
call fcn.005bdc20
mov ecx, 0xc4
call fcn.0072a3a0
cmp eax, ebp
je 0x73a028
mov ecx, dword [0xb10280]
and ecx, 0xffffff7f
mov dword [0xb10280], ecx
jne 0x73a028
xor edx, edx
mov ecx, eax
call fcn.0072a240
call fcn.0072a570
push 0x540
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp eax, ebp
je 0x73a12d
push eax
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x73a12d
push 0x23d2
push str.C:RA2wonline.cpp
xor edx, edx
mov ecx, str.GUI:CreatingChannel
call fcn.006eea10
lea ecx, [esp + 0x40]
push eax
call fcn.0075af60
lea edx, [esp + 0x40]
mov ecx, 4
push ebp
call fcn.0073e860
mov ecx, 0xc4
call fcn.0072a3a0
cmp eax, ebp
je 0x73a0a7
mov ecx, dword [0xb10280]
and ecx, 0xffffff7f
mov dword [0xb10280], ecx
jne 0x73a0a7
xor edx, edx
mov ecx, eax
call fcn.0072a240
call fcn.0072a570
push 0x540
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp eax, ebp
je 0x73a0c3
push eax
call dword [sym.imp.USER32.dll_SetFocus]
push 1
lea edx, [esp + 0x44]
mov ecx, 4
call fcn.0073e860
mov eax, dword [0xb0fde0]
xor esi, esi
test eax, eax
jle 0x73a124
xor edi, edi
test edi, edi
jl 0x73a0f1
cmp esi, eax
jge 0x73a0f1
mov edx, dword [0xb0fde8]
lea ebp, [edx + edi]
lea eax, [ebp + 0x24]
mov ecx, 0xb0e5d0
push eax
call fcn.00759cd0
push eax
call fcn.0076d4b0
add esp, 8
test eax, eax
je 0x73a11b
mov eax, dword [0xb0fde0]
inc esi
add edi, 0x6c
cmp esi, eax
jl 0x73a0e0
jmp 0x73a11f
test esi, esi
jge 0x73a17b
mov edi, vtable.rc_ptr_class_PlayerProfile_.0
lea ecx, [esp + 0x40]
call fcn.0075aff0
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], edi
call fcn.00630960
lea ecx, [esp + 0x1c]
call fcn.0075aff0
lea ecx, [esp + 0x30]
mov dword [esp + 0x24], vtable.WonlineStringDialogControl.0
call fcn.00758f80
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], vtable.SimpleWonlineDialogControl.0
call fcn.005f8c40
lea ecx, [esp + 0x10]
call fcn.00758f80
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a4
ret
mov ecx, dword [0xb0fde0]
xor eax, eax
cmp esi, ecx
jge 0x73a196
mov edx, dword [0xb0fde8]
lea eax, [esi + esi*2]
lea ecx, [eax + eax*8]
lea eax, [edx + ecx*4]
mov edx, dword [eax + 0x18]
xor ecx, ecx
mov dword [esp + 0x38], ecx
push edx
mov dword [esp + 0x24], 0
mov word [esp + 0x40], cx
call sub.WSOCK32.dll_ntohl
mov ecx, eax
mov edx, eax
mov byte [esp + 0x3b], al
shr eax, 0x18
shr ecx, 8
mov byte [esp + 0x38], al
mov byte [esp + 0x3a], cl
lea eax, [esp + 0x38]
lea ecx, [esp + 0x20]
push eax
push ecx
shr edx, 0x10
lea ecx, [esp + 0x54]
mov byte [esp + 0x41], dl
call fcn.00522830
add ebx, 0x28
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov cx, word [esp + 0x54]
mov dword [ebx], edx
mov dword [ebx + 4], eax
mov word [ebx + 8], cx
mov eax, dword [0xa255b4]
cmp eax, 2
je 0x73a28a
cmp eax, 1
je 0x73a28a
call fcn.0072a570
mov edi, eax
test edi, edi
je 0x73a22b
xor dl, dl
mov ecx, edi
call fcn.005dd490
mov dl, 1
xor ecx, ecx
call fcn.00514e00
mov dl, 1
xor ecx, ecx
call fcn.00514e00
mov edx, 0x73cca0
mov ecx, 0xc2
push 0
call fcn.005f7180
mov ecx, dword [0xa255ac]
mov esi, eax
mov edx, dword [ecx]
call dword [edx + 0x84]
mov ecx, dword [0xa255ac]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [0xa255ac]
mov edx, dword [ecx]
call dword [edx + 0x18]
mov ecx, dword [0xa255ac]
mov eax, dword [ecx]
call dword [eax + 0x68]
push 1
push esi
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
call esi
test edi, edi
je 0x73a28a
push 0
push edi
call esi
lea ecx, [esp + 0x40]
call fcn.0075aff0
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], vtable.rc_ptr_class_PlayerProfile_.0
call fcn.00630960
lea ecx, [esp + 0x1c]
call fcn.0075aff0
lea ecx, [esp + 0x30]
mov dword [esp + 0x24], vtable.WonlineStringDialogControl.0
call fcn.00758f80
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], vtable.SimpleWonlineDialogControl.0
call fcn.005f8c40
lea ecx, [esp + 0x10]
call fcn.00758f80
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a4
ret