Function at 0x408670
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov eax, dword [0x4240ac]
mov ebx, 0x39608e10
mov dword [ebp - 0x28], ecx
lea esi, [eax - 1]
imul esi, eax
mov eax, esi
and esi, 0xe9e79ea0
not eax
and eax, 0x1618615f
or esi, eax
mov eax, esi
xor esi, 0x12104113
xor eax, 0xe9e79ea0
and esi, 0xdb945713
mov edx, eax
and eax, 0xfffffffe
and edx, 0x246ba8ec
or edx, esi
mov esi, dword [0x4240b0]
xor edx, 0x246ba8ed
or eax, edx
cmp eax, 0xffffffff
lea eax, [ecx + 4]
sete byte [ebp - 0x15]
cmp esi, 0xa
mov dword [ebp - 0x24], eax
mov eax, 0x79323276
setl byte [ebp - 0x16]
nop word cs:[eax + eax]
nop
cmp eax, 0x91934bd
jg 0x408a80
cmp eax, 0xa1ff09c2
jg 0x4087d0
cmp eax, 0x8a21641e
je 0x4088cb
cmp eax, 0x8f58b028
jne 0x408cf7
push 8
call fcn.00409c33
add esp, 4
mov edi, eax
mov ecx, eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00409450
mov ecx, dword [0x4240b4]
mov eax, dword [0x4240b8]
mov esi, 0xd88af197
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and edx, 0xe35ca488
not ecx
and ecx, 0x1ca35b77
or edx, ecx
mov ecx, edx
xor edx, 0x1ca35b76
xor ecx, 0xe35ca488
and ecx, 0xfffffffe
or edx, ecx
mov ecx, edx
and edx, 0x866bf2b9
not ecx
and ecx, 0x79940d46
or edx, ecx
xor edx, 0x866bf2b9
setne cl
sete byte [ebp - 0xd]
cmp eax, 9
setg dl
cmp eax, 0xa
mov ch, dl
setl byte [ebp - 0xe]
xor dl, cl
or ch, cl
mov al, ch
xor al, dl
cmovne esi, ebx
test dl, dl
mov edx, 0xd88af197
mov eax, esi
cmovne eax, edx
test ch, ch
mov ecx, 0x95badafd
cmovne eax, esi
cmp ecx, 0x39608e0f
jle 0x408878
jmp 0x4088a0
cmp eax, 0xa1ff09c3
je 0x408d12
cmp eax, 0x6fc78e2
jne 0x4086f0
cmp byte [ebp - 0x17], 0
mov eax, 0x860e1794
mov ecx, 0x4c2093d6
jmp 0x408b91
mov cl, byte [ebp - 0xd]
mov ch, byte [ebp - 0xe]
mov esi, 0x39608e10
mov dh, cl
mov dl, ch
xor dh, 1
xor dl, 1
mov bl, dh
and dl, ch
and bl, cl
xor dl, 1
xor dh, bl
xor bl, 1
or bl, cl
xor bl, 1
or bl, dh
mov dh, ch
xor dh, dl
or dl, ch
xor dl, 1
or dl, dh
mov dh, bl
xor dh, 1
and dh, dl
xor dl, 1
and dl, bl
mov ebx, 0x39608e10
or dl, dh
mov dh, cl
or cl, ch
xor dh, ch
xor cl, 1
or cl, dh
mov dh, cl
xor dh, dl
test cl, 1
mov ecx, 0x3bc7a5c8
cmovne ecx, esi
test dl, 1
cmove ecx, esi
test dh, 1
mov esi, 0x3bc7a5c8
cmove ecx, esi
nop dword [eax]
cmp ecx, 0x39608e0f
jg 0x4088a0
cmp ecx, 0x95badafd
je 0x4087f9
cmp ecx, 0xd88af197
jne 0x408870
jmp 0x408a45
cmp ecx, 0x39608e10
je 0x4088bc
cmp ecx, 0x3bc7a5c8
jne 0x408870
mov ecx, eax
cmp ecx, 0x39608e0f
jg 0x4088a0
jmp 0x408878
mov ecx, 0x3bc7a5c8
cmp ecx, 0x39608e0f
jg 0x4088a0
jmp 0x408878
push eax
mov eax, esp
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
push 8
call fcn.00409c33
add esp, 4
mov edi, eax
mov ecx, eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00409450
mov ecx, dword [0x4240b4]
mov eax, dword [0x4240b8]
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and edx, 0x747534f8
not ecx
mov esi, ecx
and ecx, 0xfffffffe
and esi, 0x8b8acb07
or esi, edx
xor esi, 0x8b8acb06
or ecx, esi
mov edx, ecx
and ecx, 0xd8c4c77e
not edx
and edx, 0x273b3881
or ecx, edx
xor ecx, 0xd8c4c77e
sete cl
setne dl
sete byte [ebp - 0xd]
cmp eax, 9
setg ch
cmp eax, 0xa
setl al
setl byte [ebp - 0xe]
and cl, ch
and al, dl
or cl, al
mov al, ch
xor ch, dl
and al, dl
mov edx, 0xd88af197
or ch, al
mov al, ch
xor al, cl
mov eax, 0xd88af197
cmovne edx, ebx
test ch, ch
cmovne eax, edx
test cl, cl
mov ecx, 0x95badafd
cmove eax, edx
cmp ecx, 0x39608e0f
jle 0x4089f8
jmp 0x408a10
mov cl, byte [ebp - 0xd]
mov dl, byte [ebp - 0xe]
mov esi, 0x39608e10
mov ch, cl
xor ch, 1
mov dh, ch
mov bl, ch
and dh, cl
and bl, dh
xor dh, ch
or dh, bl
mov ebx, ecx
or cl, dl
mov ch, dh
and dh, dl
xor bl, dl
xor cl, 1
xor dl, 1
xor ch, 1
or cl, bl
mov ebx, 0x39608e10
and ch, dl
mov dl, cl
or dh, ch
xor dl, dh
test cl, 1
mov ecx, 0x3bc7a5c8
cmovne ecx, esi
test dh, 1
cmove ecx, esi
test dl, 1
mov esi, 0x3bc7a5c8
cmove ecx, esi
nop dword [eax]
cmp ecx, 0x39608e0f
jg 0x408a10
cmp ecx, 0x95badafd
je 0x408993
cmp ecx, 0xd88af197
jne 0x4089f0
jmp 0x408ba4
cmp ecx, 0x39608e10
je 0x408a31
cmp ecx, 0x3bc7a5c8
jne 0x4089f0
mov ecx, dword [ebp - 0x20]
mov dword [ecx], edi
mov ecx, eax
cmp ecx, 0x39608e0f
jle 0x4089f8
jmp 0x408a10
mov ecx, dword [ebp - 0x20]
mov dword [ecx], edi
mov ecx, 0x3bc7a5c8
cmp ecx, 0x39608e0f
jle 0x4089f8
jmp 0x408a10
push dword [ebp - 0x24]
push 0
push edi
push 0x408d20
push 0
push 0
call fcn.0040c6f4
add esp, 0x18
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, 0x8a21641e
cmp eax, 0x91934bd
jle 0x4086fb
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0x4dcc5ab1
jg 0x408b40
cmp eax, 0x91934be
je 0x408c3f
cmp eax, 0x4c2093d6
jne 0x4086f0
mov eax, dword [0x4240ac]
mov esi, 0x91934be
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x56367020
not eax
and eax, 0xa9c98fdf
or ecx, eax
mov eax, ecx
xor ecx, 0xa1488d45
xor eax, 0x56367020
and ecx, 0xf75c9d45
mov edx, eax
and eax, 0xfffffffe
and edx, 0x8a362ba
or edx, ecx
mov ecx, dword [0x4240b0]
xor edx, 0x8a362bb
or eax, edx
cmp eax, 0xffffffff
sete al
setne dl
cmp ecx, 9
setg dh
cmp ecx, 0xa
setl cl
and dh, al
and dl, cl
or dh, dl
mov dl, cl
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x4dcc5ab2
or cl, dl
mov dl, cl
xor dl, dh
test cl, cl
cmovne eax, esi
test dh, dh
cmove eax, esi
test dl, dl
mov edx, 0x4dcc5ab2
jmp 0x408c2c
cmp eax, 0x4dcc5ab2
je 0x408c68
cmp eax, 0x79323276
jne 0x4086f0
mov al, byte [ebp - 0x15]
mov cl, byte [ebp - 0x16]
mov esi, 0x8f58b028
mov edx, eax
mov ah, cl
xor dl, 1
xor ah, 1
and cl, dl
or dl, ah
and ah, al
or ah, cl
mov al, dl
mov ecx, 0x8a21641e
xor al, ah
test al, 1
cmovne ecx, esi
test ah, 1
mov esi, 0x8a21641e
mov eax, ecx
cmovne eax, esi
test dl, 1
cmovne eax, ecx
cmp eax, 0x91934bd
jle 0x4086fb
jmp 0x408a80
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x2c]
push 0
push dword [eax]
push 0x408d20
push 0
push 0
call fcn.0040c6f4
add esp, 0x18
mov ecx, dword [ebp - 0x28]
test eax, eax
mov dword [ecx], eax
setne byte [ebp - 0x17]
mov eax, dword [0x4240ac]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 1
not eax
mov edx, eax
and edx, 0xfffffffe
or ecx, edx
xor eax, ecx
test eax, ecx
sete al
setne cl
cmp dword [0x4240b0], 0xa
setl dl
xor cl, dl
mov ch, dl
or dl, al
xor cl, 1
xor dl, 1
xor ch, al
mov eax, 0x6fc78e2
or dl, cl
mov cl, dl
xor cl, ch
test dl, dl
mov edx, 0x8f58b028
cmovne eax, edx
test ch, ch
cmove eax, edx
test cl, cl
mov edx, 0x6fc78e2
cmove eax, edx
cmp eax, 0x91934bd
jle 0x4086fb
jmp 0x408a80
mov eax, dword [ebp - 0x14]
mov dword [eax], 0
mov ecx, dword [ebp - 0x14]
call fcn.00408e80
mov eax, dword [ebp - 0x1c]
mov eax, 0x4dcc5ab2
cmp eax, 0x91934bd
jle 0x4086fb
jmp 0x408a80
mov eax, dword [ebp - 0x14]
mov dword [eax], 0
mov ecx, dword [ebp - 0x14]
call fcn.00408e80
mov eax, dword [ebp - 0x1c]
mov eax, dword [0x4240ac]
mov esi, 0xa1ff09c3
mov edi, 0x91934be
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xeed58bfb
not eax
mov edx, eax
and edx, 0x112a7404
or ecx, edx
xor ecx, 0x112a7405
or ecx, eax
mov eax, dword [0x4240b0]
cmp ecx, 0xffffffff
sete cl
setne dl
cmp eax, 0xa
setl ch
cmp eax, 9
mov eax, 0x91934be
setg dh
and ch, dl
and cl, dh
or dh, dl
or ch, cl
mov cl, ch
xor cl, dh
test ch, ch
cmovne eax, esi
test dh, dh
cmovne eax, edi
test cl, cl
cmove eax, esi
cmp eax, 0x91934bd
jle 0x4086fb
jmp 0x408a80
cmp eax, 0x860e1794
jne 0x4086f0
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
push 6
call fcn.00409f08
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8