Function at 0x4065b0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x50
mov eax, dword [ebp + 8]
mov edx, dword [0x4245f0]
xor edx, ebp
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [ebp - 0x2c], eax
call fcn.00406c20
lea ecx, [ebp - 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00406f90
lea eax, [0x407010]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
add eax, 4
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x30], eax
call fcn.00407090
xor ecx, ecx
mov dword [esp], 0
mov dword [esp + 4], 0
lea edx, [0x407010]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x14], eax
mov dword [ebp - 0x34], ecx
call fcn.0040fb66
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], 0x64575086
mov eax, dword [ebp - 0x28]
mov ecx, eax
sub ecx, 0x9bcb1524
mov dword [ebp - 0x38], eax
je 0x406749
jmp 0x40666a
mov eax, dword [ebp - 0x38]
sub eax, 0xca56c8c8
je 0x406bd4
jmp 0x40667d
mov eax, dword [ebp - 0x38]
sub eax, 0xceea1d4f
je 0x4069ce
jmp 0x406690
mov eax, dword [ebp - 0x38]
sub eax, 0xdb1d6d2d
je 0x406810
jmp 0x4066a3
mov eax, dword [ebp - 0x38]
sub eax, 0xe8a75559
je 0x406bea
jmp 0x4066b6
mov eax, dword [ebp - 0x38]
sub eax, 0xeb78ee3f
je 0x40675f
jmp 0x4066c9
mov eax, dword [ebp - 0x38]
sub eax, 0x2411d5d0
je 0x406a81
jmp 0x4066dc
mov eax, dword [ebp - 0x38]
sub eax, 0x349b5bc3
je 0x406bfe
jmp 0x4066ef
mov eax, dword [ebp - 0x38]
sub eax, 0x4728ad38
je 0x406735
jmp 0x406702
mov eax, dword [ebp - 0x38]
sub eax, 0x64575086
je 0x40671a
jmp 0x406715
jmp 0x406c0d
mov eax, dword [ebp - 0x14]
cmp eax, 0
mov eax, 0x4728ad38
mov ecx, 0x9bcb1524
cmovne ecx, eax
mov dword [ebp - 0x28], ecx
jmp 0x406c0d
lea ecx, [ebp - 0x1c]
call fcn.004070b0
mov dword [ebp - 0x28], 0xeb78ee3f
jmp 0x406c0d
mov eax, dword [ebp - 0x18]
mov dword [eax + 4], 0
mov dword [esp], 6
call fcn.0040d29d
xor eax, eax
mov ecx, dword [0x424fe4]
mov edx, dword [0x424fe8]
mov esi, ecx
add esi, 0x16f0af81
sub esi, 0x82476430
sub esi, 0x16f0af81
sub esi, 0x6b1d6ed3
sub esi, 1
add esi, 0x6b1d6ed3
mov edi, eax
sub edi, esi
mov esi, eax
sub esi, 0x82476430
add edi, esi
sub eax, edi
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bh
xor al, 0xff
mov ah, bl
xor ah, al
and ah, bl
mov al, bl
xor al, 0xff
mov cl, bh
and cl, al
xor bh, 0xff
and bl, bh
or cl, bl
mov al, ah
xor al, 0xff
mov ch, cl
xor ch, 0xff
mov bl, 1
xor bl, 1
mov bh, al
and bh, 0xff
and ah, bl
mov dl, ch
and dl, 0xff
and cl, bl
or bh, ah
or dl, cl
xor bh, dl
or al, ch
xor al, 0xff
or bl, 1
and al, bl
or bh, al
test bh, 1
mov esi, 0xdb1d6d2d
mov edi, 0xe8a75559
cmovne edi, esi
mov dword [ebp - 0x28], edi
jmp 0x406c0d
xor eax, eax
mov ecx, dword [0x424fe4]
mov edx, dword [0x424fe8]
sub eax, 1
add eax, 0
mov esi, ecx
add esi, 0x7554ecdb
add esi, eax
sub esi, 0x7554ecdb
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
and al, 0
mov ah, 1
mov cl, ah
xor cl, 0
mov ch, bl
and ch, cl
mov dl, ah
xor dl, 1
and dl, 0
and cl, 1
or al, ch
or dl, cl
xor al, dl
mov cl, bh
xor cl, 0xff
and cl, 1
mov dl, ah
xor dl, 1
mov ch, bh
and ch, dl
or cl, ch
mov dl, ah
xor dl, 1
and dl, 1
mov ch, ah
xor ch, 1
and ch, 1
or dl, ch
mov ch, ah
xor ch, 1
mov dh, al
xor dh, ch
and dh, al
mov ch, dl
xor ch, 0xff
mov byte [ebp - 0x39], bl
xor bl, ch
mov ch, byte [ebp - 0x39]
and bl, ch
mov ch, ah
xor ch, 1
mov byte [ebp - 0x3a], cl
xor cl, ch
mov ch, byte [ebp - 0x3a]
and cl, ch
mov ch, dl
xor ch, 0xff
mov byte [ebp - 0x3b], bh
xor bh, ch
mov ch, byte [ebp - 0x3b]
and bh, ch
mov ch, dh
and ch, bl
xor dh, bl
or ch, dh
mov dh, cl
xor dh, 0xff
mov bl, bh
xor bl, 0xff
mov byte [ebp - 0x3c], ah
xor ah, 0
mov byte [ebp - 0x3d], dh
and dh, 0
and cl, ah
mov byte [ebp - 0x3e], bl
and bl, 0
and bh, ah
or dh, cl
or bl, bh
xor dh, bl
mov cl, byte [ebp - 0x3d]
mov bl, byte [ebp - 0x3e]
or cl, bl
xor cl, 0xff
or ah, 0
and cl, ah
or dh, cl
mov cl, ch
xor cl, 0xff
and cl, 1
mov ah, byte [ebp - 0x3c]
xor ah, 1
and ch, ah
mov bh, dh
xor bh, 0xff
and bh, 0xff
and dh, ah
or cl, ch
or bh, dh
xor cl, bh
mov ah, al
xor ah, 0xff
mov ch, byte [ebp - 0x3a]
xor ch, 0xff
mov dh, byte [ebp - 0x3c]
xor dh, 1
mov bh, ah
and bh, 0xff
and al, dh
mov bl, ch
and bl, 0xff
mov byte [ebp - 0x3f], al
mov al, byte [ebp - 0x3a]
and al, dh
mov byte [ebp - 0x40], al
mov al, byte [ebp - 0x3f]
or bh, al
mov al, byte [ebp - 0x40]
or bl, al
xor bh, bl
or ah, ch
xor ah, 0xff
or dh, 1
and ah, dh
or bh, ah
mov al, bh
xor al, 0xff
and al, 1
mov ah, byte [ebp - 0x3c]
xor ah, 1
and bh, ah
or al, bh
mov ah, dl
and ah, 1
xor dl, 1
or ah, dl
xor ah, 0xff
mov dl, al
xor dl, ah
and dl, al
mov al, cl
xor al, 0xff
mov ah, dl
xor ah, 0xff
mov ch, byte [ebp - 0x3c]
xor ch, 0
mov dh, al
and dh, 0
and cl, ch
mov bl, ah
and bl, 0
and dl, ch
or dh, cl
or bl, dl
xor dh, bl
or al, ah
xor al, 0xff
or ch, 0
and al, ch
or dh, al
test dh, 1
mov esi, 0xceea1d4f
mov edi, 0x349b5bc3
cmovne edi, esi
mov dword [ebp - 0x28], edi
jmp 0x406c0d
lea ecx, [ebp - 0x1c]
call fcn.00407100
xor eax, eax
mov ecx, dword [0x424fe4]
mov edx, dword [0x424fe8]
mov esi, eax
sub esi, 0xaa354a49
sub esi, 1
add esi, 0xaa354a49
mov edi, eax
sub edi, ecx
mov ebx, eax
sub ebx, esi
add edi, ebx
sub eax, edi
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 0xff
mov ch, ah
xor ch, 0xff
mov dl, 1
mov dh, dl
xor dh, 0
or cl, ch
or dh, 0
xor cl, 0xff
and cl, dh
mov ch, al
xor ch, 0xff
mov dh, ah
and dh, ch
xor ah, 0xff
and al, ah
or dh, al
mov al, cl
xor al, 0xff
mov ah, dh
xor ah, 0xff
xor dl, 0
mov ch, al
and ch, 0
and cl, dl
mov bl, ah
and bl, 0
and dh, dl
or ch, cl
or bl, dh
xor ch, bl
or al, ah
xor al, 0xff
or dl, 0
and al, dl
or ch, al
test ch, 1
mov esi, 0x2411d5d0
mov edi, 0x349b5bc3
cmovne edi, esi
mov dword [ebp - 0x28], edi
jmp 0x406c0d
xor eax, eax
mov ecx, dword [0x424fe4]
mov edx, dword [0x424fe8]
mov esi, eax
sub esi, 1
add esi, 0
mov edi, eax
sub edi, ecx
mov ebx, eax
sub ebx, esi
add edi, ebx
sub eax, edi
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
xor cl, 0xff
and cl, 1
mov ch, 1
mov dl, ch
xor dl, 1
mov dh, al
and dh, dl
or cl, dh
mov dl, ah
xor dl, 0xff
and dl, 0
mov dh, ch
xor dh, 0
mov bl, ah
and bl, dh
mov bh, ch
xor bh, 1
and bh, 0
and dh, 1
or dl, bl
or bh, dh
xor dl, bh
mov dh, ch
xor dh, 0
and dh, 1
mov bl, ch
xor bl, 1
mov bh, bl
and bh, 0
mov byte [ebp - 0x41], ch
xor ch, 1
and ch, 0xff
and bl, 1
or dh, bh
or ch, bl
xor dh, ch
mov ch, byte [ebp - 0x41]
xor ch, 0
mov bl, cl
xor bl, ch
and bl, cl
xor al, 0xff
mov ch, dh
xor ch, 0xff
mov bh, byte [ebp - 0x41]
xor bh, 1
or al, ch
or bh, 1
xor al, 0xff
and al, bh
mov ch, byte [ebp - 0x41]
xor ch, 0
mov bh, dl
xor bh, ch
and bh, dl
xor ah, 0xff
mov ch, dh
xor ch, 0xff
mov byte [ebp - 0x42], al
mov al, byte [ebp - 0x41]
xor al, 0
or ah, ch
or al, 0
xor ah, 0xff
and ah, al
mov al, bl
mov ch, byte [ebp - 0x42]
and al, ch
xor bl, ch
or al, bl
mov bl, bh
and bl, ah
xor bh, ah
or bl, bh
mov ah, al
xor ah, 0xff
and ah, 0
mov bh, byte [ebp - 0x41]
xor bh, 0
and al, bh
mov ch, bl
xor ch, 0xff
and ch, 0
and bl, bh
or ah, al
or ch, bl
xor ah, ch
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov cl, al
xor cl, 0xff
and cl, 1
mov dl, byte [ebp - 0x41]
xor dl, 1
and al, dl
or cl, al
mov al, dh
and al, 0
xor dh, 0
or al, dh
xor al, 0xff
mov dl, cl
xor dl, al
and dl, cl
mov al, ah
and al, dl
xor ah, dl
or al, ah
test al, 1
mov esi, 0xca56c8c8
mov edi, 0xe8a75559
cmovne edi, esi
mov dword [ebp - 0x28], edi
jmp 0x406c0d
mov eax, dword [ebp - 0x10]
xor eax, ebp
mov ecx, eax
call fcn.0040d0c1
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret 4
lea ecx, [ebp - 0x1c]
call fcn.00407100
mov dword [ebp - 0x28], 0xdb1d6d2d
jmp 0x406c0d
lea ecx, [ebp - 0x1c]
call fcn.00407100
mov dword [ebp - 0x28], 0xceea1d4f
jmp 0x406651