Function at 0x407e80
Capabilities:
Create thread

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov dword [esp], ecx
mov edi, 0xdfbc7f00
mov ebp, 0xceb9590b
mov esi, 0xd231a877
mov ebx, 0x1fde3efc
mov eax, dword [0x4225d0]
xor eax, esp
mov dword [esp + 0x1c], eax
lea eax, [esp + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov eax, dword [0x42301c]
mov ecx, dword [0x423020]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
sete byte [esp + 0x17]
cmp ecx, 0xa
setl cl
setl byte [esp + 0x18]
mov edx, ecx
xor cl, al
and dl, al
mov eax, 0x14a314f5
or cl, dl
mov ecx, 0xd4dfa436
mov edx, 0xc45774a4
cmove ecx, eax
cmove edi, eax
cmove ebp, esi
cmp edx, 0xd4dfa435
jg 0x407f38
jmp 0x407fa0
mov al, byte [esp + 0x17]
mov dl, byte [esp + 0x18]
mov ah, dl
xor ah, al
test dl, dl
mov edx, 0xd231a877
cmovne edx, ebx
test al, al
cmove edx, esi
test ah, ah
cmovne edx, ebx
nop
cmp edx, 0xd4dfa435
jle 0x407fa0
cmp edx, 0x14a314f4
jg 0x407f60
cmp edx, 0xd4dfa436
je 0x407f7c
cmp edx, 0xdfbc7f00
jne 0x407f30
mov edx, ecx
cmp edx, 0xd4dfa435
jg 0x407f38
jmp 0x407fa0
cmp edx, 0x14a314f5
je 0x407f8b
cmp edx, 0x1fde3efc
jne 0x407f30
mov edx, ebp
cmp edx, 0xd4dfa435
jg 0x407f38
jmp 0x407fa0
mov edx, 0x1fde3efc
cmp edx, 0xd4dfa435
jg 0x407f38
jmp 0x407fa0
mov edx, 0xdfbc7f00
cmp edx, 0xd4dfa435
jg 0x407f38
nop dword [eax + eax]
cmp edx, 0xc45774a4
je 0x407f0e
cmp edx, 0xceb9590b
je 0x407fd0
cmp edx, 0xd231a877
jne 0x407f30
mov edx, edi
cmp edx, 0xd4dfa435
jg 0x407f38
jmp 0x407fa0
push dword [esp + 0x38]
push dword [esp + 0x38]
lea eax, [esp + 0xc]
push eax
call fcn.00408250
add esp, 0xc
mov eax, dword [esp]
mov ecx, dword [0x4230f4]
mov esi, 0xc5c9968b
mov edi, 0x2f97825d
lea eax, [eax + 4]
mov dword [esp + 0xc], eax
mov eax, dword [0x4230f8]
lea edx, [eax - 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
mov eax, 0x2f97825d
sete dl
sete byte [esp + 0x16]
cmove eax, esi
cmp ecx, 0xa
setl cl
cmovge eax, edi
setl byte [esp + 0x17]
mov edi, 0x1fec7477
xor cl, dl
mov ecx, dword [esp + 4]
cmovne eax, esi
mov esi, 0x8d8d44f2
cmp edi, 0x1fec7476
jle 0x408068
jmp 0x408080
mov dword [esp + 0x18], ecx
mov edi, eax
nop word cs:[eax + eax]
nop dword [eax]
cmp edi, 0x1fec7476
jg 0x408080
cmp edi, 0x8d8d44f2
je 0x40804d
cmp edi, 0xc5c9968b
jne 0x408060
jmp 0x4080ca
cmp edi, 0x2f97825d
je 0x4080bb
cmp edi, 0x1fec7477
jne 0x408060
movzx edx, byte [esp + 0x16]
mov bh, byte [esp + 0x17]
mov ebp, 0x2f97825d
mov bl, dl
xor bl, bh
cmovne ebp, esi
test bh, bh
mov edi, ebp
cmovne edi, esi
test dl, dl
cmove edi, ebp
cmp edi, 0x1fec7476
jle 0x408068
jmp 0x408080
mov edi, 0x8d8d44f2
cmp edi, 0x1fec7476
jle 0x408068
jmp 0x408080
push dword [esp + 0xc]
push 0
push dword [esp + 0x20]
push 0x4083f0
push 0
push 0
call fcn.0040bd36
add esp, 0x18
mov dword [esp + 0x10], eax
lea esi, [esp + 4]
mov edi, 0x2401c0eb
mov ebp, 0x9c9072ba
mov eax, dword [esp + 0x10]
mov ecx, dword [esp]
mov dword [ecx], eax
mov eax, 0x867446a9
nop word cs:[eax + eax]
nop
cmp eax, 0xbd26e117
jle 0x408190
cmp eax, 0xbd26e118
je 0x40816a
cmp eax, 0x2401c0eb
je 0x408233
cmp eax, 0x7c71423b
jne 0x408110
mov eax, dword [0x4230fc]
mov ecx, dword [0x423100]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xbd26e118
cmovne ebx, ebp
test eax, edx
mov eax, ebx
cmove eax, ebp
cmp ecx, 0xa
jmp 0x4081e5
mov ecx, esi
call fcn.00408610
mov ecx, esi
call fcn.00408820
mov eax, dword [esp + 8]
mov eax, 0x9c9072ba
cmp eax, 0xbd26e117
jg 0x408117
nop dword [eax + eax]
cmp eax, 0x867446a9
je 0x4081f5
cmp eax, 0x9c9072ba
jne 0x408217
mov ecx, esi
call fcn.00408610
mov ecx, esi
call fcn.00408820
mov eax, dword [0x4230fc]
mov ecx, dword [0x423100]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xbd26e118
cmovne ebx, edi
test eax, edx
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esp + 8]
cmovge eax, ebx
cmp eax, 0xbd26e117
jg 0x408117
jmp 0x408190
cmp dword [esp + 0x10], 0
mov eax, 0x7c71423b
mov ecx, 0x9b922593
cmove eax, ecx
cmp eax, 0xbd26e117
jg 0x408117
jmp 0x408190
cmp eax, 0x9b922593
jne 0x408110
mov eax, dword [esp + 0xc]
mov dword [eax], 0
push 6
call fcn.0040946d
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00409273
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret 8