Function at 0x46c330
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
cmp dword [0xbdaec0], 0
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
je 0x46c75a
mov edi, dword [esi*4 + 0x20a514c]
test esi, esi
js 0x46c75a
cmp esi, 0x1194
jge 0x46c75a
cmp dword [edi + 4], 3
jne 0x46c75a
movzx eax, word [edi + 0x78]
cmp eax, 1
je 0x46c383
cmp eax, 6
jne 0x46c75a
cmp byte [edi + 0xa], 0
jg 0x46c75a
cmp byte [edi + 0x9c0], 0
jne 0x46c75a
mov eax, dword [edi + 0x644]
mov ebx, dword [eax*4 + 0xbdaec8]
test ebx, ebx
je 0x46c449
movzx eax, word [edi + 0x1170]
cmp eax, ebx
jl 0x46c449
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 0x394
push eax
lea eax, [esp + 0x18]
mov ecx, 0xa9b83c
push eax
call fcn.00405650
mov eax, dword [esp + 0x1c]
mov ecx, dword [0xa9b83c]
cmp byte [eax + 0xd], 0
jne 0x46c3f3
cmp dword [eax + 0x10], 0x394
jle 0x46c3f5
mov eax, ecx
cmp eax, ecx
jne 0x46c42e
push 0x394
push str.Could_not_find_message__d_
push 0xa9b7bc
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, 0xa9b7bc
push ebx
push eax
push 0
push 0
push esi
call fcn.004ead50
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push ebx
add eax, 0x18
push eax
push 0
push 0
push esi
call fcn.004ead50
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0xebf05c1
mov byte [esp + 0x10], 0
mov cl, byte [eax + 4]
add cl, 0xc
mov byte [eax + 4], cl
cmp cl, 0xcc
jb 0x46c471
mov byte [esp + 0x10], 1
jmp 0x46c74d
mov eax, dword [edi + 0x390]
movzx edx, cl
imul ecx, edx, 0x10c
movzx eax, word [ecx + eax + 4]
mov ecx, 0x1c6f
cmp ax, cx
je 0x46c499
mov ecx, 0x1a7d
cmp ax, cx
jne 0x46c467
cmp dword [0x64376c], 0
jne 0x46c748
mov eax, dword [0xa0cdb0]
test eax, eax
je 0x46c748
cmp dword [eax + 4], 0
je 0x46c748
cmp word [eax + 0xa0], 0xfffd
jne 0x46c748
cmp word [eax + 0xa2], 0xfffd
jne 0x46c748
cmp word [eax + 0xa4], 0xfffd
jne 0x46c748
cmp word [eax + 0xa6], 0xfffd
jne 0x46c748
cmp dword [0xbda8ec], 0
jne 0x46c511
cmp byte [edi + 0x13d], 4
jl 0x46c511
mov byte [esp + 0x10], 3
jmp 0x46c74d
push ecx
push edx
push edi
call fcn.0049f680
push 5
lea eax, [esp + 0x10]
push eax
push esi
call fcn.005192f0
call fcn.00526930
and eax, reloc.WS2_32.dll_closesocket
jns 0x46c537
dec eax
or eax, 0xfffffffc
inc eax
mov dword [0x643768], eax
add eax, 0x41
mov dword [0x643770], eax
mov edx, dword [edi + 0x284]
mov dword [0x643790], edx
test edx, edx
js 0x46c6cb
cmp edx, 0x1194
jge 0x46c6cb
xor edi, edi
nop word [eax + eax]
imul eax, edx, 0xb
add eax, edi
mov eax, dword [eax*4 + 0xb94b0c]
test eax, eax
js 0x46c6bf
cmp eax, 0x1194
jge 0x46c6bf
push eax
call fcn.0046a7c0
test al, al
je 0x46c6b9
imul eax, dword [0x643790], 0xb
add eax, edi
mov eax, dword [eax*4 + 0xb94b0c]
mov eax, dword [eax*4 + 0x20a514c]
and dword [eax + 0x384], 0xfffffffc
imul eax, dword [0x643790], 0xb
add eax, edi
mov eax, dword [eax*4 + 0xb94b0c]
mov eax, dword [eax*4 + 0x20a514c]
and dword [eax + 0x384], 0xffff003f
imul eax, dword [0x643790], 0xb
add eax, edi
mov eax, dword [eax*4 + 0xb94b0c]
mov eax, dword [eax*4 + 0x20a514c]
and dword [eax + 0x384], 0xffffffc3
imul ecx, dword [0x643790], 0xb
mov edx, dword [0x643768]
add ecx, edi
lea edx, [edx + 0x149]
mov ecx, dword [ecx*4 + 0xb94b0c]
call fcn.00522900
imul eax, dword [0x643790], 0xb
mov dword [esp + 0xc], 0x10bf05c1
mov byte [esp + 0x10], 0
add eax, edi
mov eax, dword [eax*4 + 0xb94b0c]
test eax, eax
js 0x46c652
cmp eax, 0x1194
jge 0x46c652
push 5
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.005192f0
jmp 0x46c67c
mov esi, 0x6437a0
mov eax, dword [esi]
test eax, eax
js 0x46c671
cmp eax, 0x1194
jge 0x46c671
push 5
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.005192f0
add esi, 4
cmp esi, 0x6437b4
jl 0x46c657
mov edx, dword [0x643790]
inc dword [0x643794]
imul eax, edx, 0xb
add eax, edi
mov eax, dword [eax*4 + 0xb94b0c]
mov eax, dword [eax*4 + 0x20a514c]
movsx ecx, word [eax + 0xd0]
mov eax, dword [eax + 0x608]
add eax, ecx
cmp eax, dword [0x643798]
jle 0x46c6bf
mov dword [0x643798], eax
jmp 0x46c6bf
mov edx, dword [0x643790]
inc edi
cmp edi, 0xa
jl 0x46c570
jmp 0x46c724
push esi
call fcn.0046a7c0
test al, al
je 0x46c724
and dword [edi + 0x384], 0xffff0000
mov ecx, esi
mov edx, dword [0x643768]
lea edx, [edx + 0x149]
call fcn.00522900
push 5
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x10bf05c1
push eax
push esi
mov byte [esp + 0x1c], 0
call fcn.005192f0
inc dword [0x643794]
movsx eax, word [edi + 0xd0]
add eax, dword [edi + 0x608]
mov dword [0x643798], eax
mov eax, dword [0x643798]
mov ecx, 0x258
cmp eax, ecx
push 1
cmovg eax, ecx
mov dword [0x643798], eax
call fcn.0046a0e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov byte [esp + 0x10], 2
push 5
lea eax, [esp + 0x10]
push eax
push esi
call fcn.005192f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8