Function at 0x4249e0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2f8
mov eax, dword [0x485008]
xor eax, ebp
mov dword [ebp - 4], eax
mov al, byte [ebp + 8]
movsx eax, al
push edi
imul edi, eax, 0xe4
mov dword [ebp - 0x2f0], eax
cmp byte [edi + 0x49211c], 0
je 0x424db9
movzx eax, byte [0x6b8078]
imul eax, eax, 0xe4
push ebx
mov ebx, 0x200
cmp byte [eax + 0x49211c], 0
mov eax, dword [0x83172c]
jne 0x424a3c
test ebx, eax
jne 0x424db8
test ebx, eax
jne 0x424a4d
cmp byte [0x7e648e], 0
je 0x424db8
push esi
push ebx
xor esi, esi
lea eax, [ebp - 0x2ec]
push esi
push eax
call fcn.00447370
lea eax, [ebp + 0x14]
push eax
push esi
push dword [ebp + 0x10]
lea eax, [ebp - 0x2ec]
push ebx
push eax
call fcn.0040143a
mov edx, dword [edi + 0x492118]
add esp, 0x20
mov ebx, str.daniel_cro
mov ecx, esi
movzx eax, byte [edx + ecx]
cmp al, byte [ebx + ecx]
jne 0x424ad5
inc ecx
cmp ecx, 0xb
jne 0x424a83
lea edx, [ebp - 0x2ec]
mov ebx, str.who_use_LFSLazy_
mov ecx, esi
movzx eax, byte [edx + ecx]
cmp al, byte [ebx + ecx]
jne 0x424ad5
inc ecx
cmp ecx, 0x11
jne 0x424a9f
call fcn.0044b3ea
and eax, 0x80000001
jns 0x424ac1
dec eax
or eax, 0xfffffffe
add eax, 1
mov ecx, str.I_do
mov eax, 0x475d98
cmove eax, ecx
push eax
call fcn.00407b9c
pop ecx
movzx eax, byte [0x6b8078]
mov ebx, esi
imul eax, eax, 0xe4
mov eax, dword [eax + 0x492118]
test eax, eax
je 0x424b30
add eax, 0x78
push eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.00446fd0
pop ecx
pop ecx
test eax, eax
jne 0x424b2d
movzx eax, byte [0x6b8078]
imul eax, eax, 0xe4
mov eax, dword [eax + 0x492118]
add eax, 0x78
push eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.00446fd0
pop ecx
pop ecx
test eax, eax
je 0x424b30
xor ebx, ebx
inc ebx
mov al, byte [0x7e69b3]
cmp al, 2
je 0x424b41
cmp al, 1
jne 0x424b62
test ebx, ebx
je 0x424b62
cmp byte [edi + 0x492128], 0
je 0x424b62
cmp byte [0x6b807a], 0
jne 0x424b62
push esi
push esi
push 0x424972
call fcn.0044b34c
add esp, 0xc
mov esi, dword [0x4a17bc]
cmp esi, 0x7a120
jae 0x424cca
test esi, esi
jne 0x424bb5
push esi
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
push 0xfab
push dword [0x7e6480]
call esi
push 0
push 0xfae
push dword [0x7e6480]
call esi
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push 1
push dword [0x6b82c0]
call esi
push 1
push dword [0x6b82c4]
call esi
lea ecx, [ebp - 0x2ec]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x424bbe
sub ecx, edx
lea eax, [ecx + 0x29]
push eax
push 1
call fcn.00449f17
pop ecx
pop ecx
mov ecx, dword [0x4a17bc]
mov dword [ecx*4 + 0x4a17c0], eax
test eax, eax
jne 0x424bf8
push str.Failed_to_allocate_ChatLog_memory
push 4
call fcn.00407cc3
pop ecx
pop ecx
jmp 0x424db7
push 0
call fcn.0044da37
mov edx, dword [0x4a17bc]
mov ecx, dword [edx*4 + 0x4a17c0]
mov esi, ecx
mov dword [ecx], eax
call fcn.00449fee
mov dword [esi + 4], eax
mov ecx, 0xa0
mov byte [esi + 0x24], 1
mov eax, dword [edi + 0x492118]
sub eax, dword [0x6b8460]
cdq
idiv ecx
lea ecx, [esi + 8]
mov dword [esi + 0x20], eax
cmp byte [0x6b807a], 0
sete al
mov byte [esi + 0x25], al
mov byte [esi + 0x26], bl
mov eax, dword [edi + 0x492118]
add eax, 0x78
push eax
push 0x18
pop edx
call fcn.004014cb
lea eax, [ebp - 0x2ec]
mov edx, 0x80
push eax
lea ecx, [esi + 0x27]
call fcn.004014cb
mov eax, dword [0x4a17bc]
add esp, 0xc
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
inc eax
mov dword [0x4a17bc], eax
add eax, 0xfffffffe
push 0
push eax
push 0x10b6
push dword [0x7e6484]
call ebx
push 3
push dword [0x4a17bc]
mov esi, eax
push 0x102f
push dword [0x7e6484]
call ebx
test esi, esi
je 0x424cc4
mov eax, dword [0x4a17bc]
push 0
dec eax
push eax
push 0x1013
push dword [0x7e6484]
call ebx
mov esi, dword [0x4a17bc]
cmp byte [0x7e648c], 0
je 0x424d97
cmp byte [0x6b807a], 0
jne 0x424d97
movzx eax, byte [0x6b8078]
cmp dword [ebp - 0x2f0], eax
je 0x424d97
mov eax, dword [edi + 0x492118]
lea ecx, [ebp - 0x24]
add eax, 0x78
push eax
push 0x20
pop edx
call fcn.004014cb
lea eax, [ebp - 0x2ec]
mov edx, 0xc8
push eax
lea ecx, [ebp - 0xec]
call fcn.004014cb
pop ecx
pop ecx
lea ecx, [ebp - 0x24]
call fcn.004019d7
lea ecx, [ebp - 0x24]
call fcn.00401a3b
lea ecx, [ebp - 0xec]
call fcn.004019d7
lea ecx, [ebp - 0xec]
call fcn.00401a3b
cmp byte [0x689cc4], 0
je 0x424d7e
mov esi, 0x689cc4
lea ecx, [ebp - 0x24]
mov edx, esi
call fcn.00401b6f
test eax, eax
jne 0x424d78
mov edx, esi
lea ecx, [ebp - 0xec]
call fcn.00401b6f
test eax, eax
je 0x424db7
mov esi, dword [0x4a17bc]
sub esi, dword [0x485d58]
lea eax, [ebp - 0xec]
dec esi
push esi
push 1
push 0
push eax
lea eax, [ebp - 0x24]
push eax
jmp 0x424dad
sub esi, dword [0x485d58]
dec esi
push esi
push 1
push 0
push 0x46e37a
push 0x46e37b
mov ecx, 0x838820
call fcn.00418f91
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.00445b7e
leave
ret