Function at 0x4067b0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xec8
mov eax, dword [0x448598]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
xor edx, edx
mov ecx, dword [ebp + 0x18]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
xor edi, edi
mov dword [ebp - 0xe60], esi
mov dword [ebp - 0xe50], eax
mov dword [ebp - 0xe5c], ecx
mov word [eax], dx
test ecx, ecx
je 0x4067f1
mov dword [ecx], edx
cmp word [ebx], dx
jne 0x40694a
push 0
push dword [esi + 8]
push dword [esi + 4]
call fcn.004079f0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4068a9
cmp dword [0x448588], 0xffffffff
je 0x406894
push 0x88
call fcn.00413378
mov ecx, dword [esi + 4]
push 0x88
push eax
mov dword [ebp - 0xe58], eax
lea eax, [ebp - 0xe74]
mov dword [ebp - 0xe74], ecx
mov ecx, dword [esi]
push 0x10
push eax
mov dword [ebp - 0xe70], ecx
mov ecx, dword [esi + 8]
push 0x8335004c
mov dword [ebp - 0xe68], ecx
call fcn.00405730
add esp, 0x18
test eax, eax
je 0x406884
mov ecx, dword [ebp - 0xe58]
mov edx, ebx
add ecx, 4
sub edx, ecx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x406874
push dword [ebp - 0xe58]
call fcn.0040dedd
jmp 0x406947
push 0x436ac8
push 0x40
push ebx
call fcn.00404080
add esp, 0xc
jmp 0x40694a
lea eax, [ebp - 0xe54]
push eax
push 0
push 0
push 2
push edi
call dword [0x455ac0]
push dword [ebp - 0xe54]
call fcn.00413378
add esp, 4
mov esi, eax
cmp edi, 0xffffffff
je 0x406912
push 0
push dword [ebp - 0xe54]
push esi
push 2
push edi
call dword [0x455ac0]
test eax, eax
jne 0x406912
movzx eax, word [esi]
xor ecx, ecx
test eax, 0xfffffffe
jbe 0x40690a
mov eax, dword [esi + 4]
movsx ax, byte [eax + ecx*2]
mov word [ebx + ecx*2], ax
inc ecx
movzx eax, word [esi]
shr eax, 1
cmp ecx, eax
jb 0x4068f4
xor eax, eax
mov word [ebx + ecx*2], ax
jmp 0x40693b
movups xmm0, xmmword [0x436ac8]
movups xmmword [ebx], xmm0
movq xmm0, qword [0x436ad8]
movq qword [ebx + 0x10], xmm0
mov eax, dword [0x436ae0]
mov dword [ebx + 0x18], eax
mov ax, word [0x436ae4]
mov word [ebx + 0x1c], ax
push esi
call fcn.0040dedd
mov esi, dword [ebp - 0xe60]
add esp, 4
push 0x436ae8
push ebx
call fcn.00413481
add esp, 8
test eax, eax
je 0x406c7f
push 0x436af8
push ebx
call fcn.00413481
add esp, 8
test eax, eax
je 0x406c7f
push 0x436b58
push ebx
call fcn.00413481
add esp, 8
test eax, eax
jne 0x406a71
push 8
push dword [esi + 8]
push dword [esi + 4]
call fcn.004079f0
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x406db0
lea eax, [ebp - 0xe64]
mov dword [ebp - 0xe64], 0x800
push eax
push 0x800
lea eax, [ebp - 0xe14]
push eax
push 1
push esi
call dword [0x42f004]
test eax, eax
je 0x406a64
lea eax, [ebp - 0xe90]
mov dword [ebp - 0xe7c], 0x208
push eax
lea eax, [ebp - 0xe78]
mov dword [ebp - 0xe78], 0x208
push eax
lea eax, [ebp - 0x614]
push eax
lea eax, [ebp - 0xe7c]
push eax
lea eax, [ebp - 0x40c]
push eax
push dword [ebp - 0xe14]
push 0x436994
call dword [section..rdata]
test eax, eax
je 0x406a64
lea eax, [ebp - 0xe64]
push eax
push 0x38
lea eax, [ebp - 0xe4c]
push eax
push 0xa
push esi
call dword [0x42f004]
push dword [ebp - 0xe44]
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x614]
push eax
push 0x436b64
push dword [ebp + 0x14]
push dword [ebp - 0xe50]
call fcn.00404080
add esp, 0x18
mov eax, dword [0x42f0f8]
push esi
call eax
jmp 0x406db0
test edi, edi
jne 0x406a86
push edi
push dword [esi + 8]
push dword [esi + 4]
call fcn.004079f0
add esp, 0xc
mov edi, eax
cmp dword [0x448588], 0xffffffff
je 0x406b46
test edi, edi
je 0x406dbf
mov esi, dword [ebp + 0x14]
add esi, 8
push esi
call fcn.00413378
mov ecx, dword [ebp - 0xe60]
push 0x436b78
push ebx
mov dword [ebp - 0xe58], eax
mov ecx, dword [ecx]
mov dword [ebp - 0xe70], ecx
call fcn.00413481
add esp, 0xc
test eax, eax
sete byte [ebp - 0xe6c]
call dword [0x42f078]
push esi
mov esi, dword [ebp - 0xe58]
push esi
mov dword [ebp - 0xe74], eax
lea eax, [ebp - 0xe74]
push 0x10
push eax
push 0x83350048
mov dword [ebp - 0xe68], edi
call fcn.00405730
add esp, 0x14
test eax, eax
je 0x406b2f
mov edx, dword [ebp - 0xe50]
lea ecx, [esi + 4]
sub edx, ecx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x406b11
mov ecx, dword [ebp - 0xe5c]
test ecx, ecx
je 0x406b2f
mov eax, dword [esi]
mov dword [ecx], eax
push esi
call fcn.0040dedd
add esp, 4
push edi
mov edi, dword [0x42f0f8]
call edi
jmp 0x406dc5
test edi, edi
je 0x406dbf
push 0x400
mov dword [ebp - 0xe54], 0x400
call fcn.00413378
mov esi, eax
xorps xmm0, xmm0
add esp, 4
mov dword [ebp - 0xe5c], esi
movq qword [esi], xmm0
mov ecx, dword [ebp - 0xe54]
add ecx, 0xfffffff8
mov word [esi], cx
cmp dword [0x4495b0], 0
jne 0x406baa
lea eax, [ebp - 0xe94]
push eax
push 0
push 0
push 0x406740
push 0
push 0
call fcn.0041ad9b
add esp, 0x18
mov dword [0x4495b0], eax
mov eax, dword [0x4495b4]
test eax, eax
jne 0x406bde
mov esi, dword [0x42f074]
push eax
push eax
push eax
push eax
call esi
push 0
push 0
push 0
push 0
mov dword [0x4495b4], eax
call esi
mov esi, dword [ebp - 0xe5c]
mov dword [0x4495b8], eax
mov eax, dword [0x4495b4]
push eax
mov dword [0x4495c0], esi
mov dword [0x4495bc], edi
call dword [0x42f06c]
push 0x3e8
push dword [0x4495b8]
call dword [0x42f070]
cmp eax, 0x102
jne 0x406c45
push 1
push dword [0x4495b0]
call dword [0x42f07c]
push dword [0x4495b0]
mov eax, dword [0x42f0f8]
call eax
push esi
mov dword [0x4495b0], 0
call fcn.0040dedd
add esp, 4
push edi
mov edi, dword [0x42f0f8]
call edi
jmp 0x406dc5
cmp dword [0x4495c4], 0
jne 0x406c68
movzx eax, word [esi]
shr eax, 1
push eax
push dword [esi + 4]
push dword [ebp + 0x14]
push dword [ebp - 0xe50]
call fcn.0040ded2
add esp, 0x10
push esi
call fcn.0040dedd
add esp, 4
push edi
mov edi, dword [0x42f0f8]
call edi
jmp 0x406dc5
test edi, edi
je 0x406c88
cmp edi, 0xffffffff
jne 0x406cc3
push 0x436ae8
push ebx
call fcn.00413481
neg eax
sbb eax, eax
and eax, 0xfffffc40
add eax, 0x400
push eax
push dword [esi + 8]
push dword [esi + 4]
call fcn.004079f0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x406d99
cmp edi, 0xffffffff
je 0x406d99
push 0x42feac
push ebx
call fcn.00413481
add esp, 8
test eax, eax
lea eax, [ebp - 0xe54]
push eax
jne 0x406d3b
push 0x18
lea eax, [ebp - 0xec8]
push eax
push 0
push edi
call dword [0x455ab4]
test eax, eax
jne 0x406db4
lea eax, [ebp - 0x204]
push eax
push 0
push dword [ebp - 0xeb8]
call fcn.00407240
push dword [ebp - 0xeb8]
lea eax, [ebp - 0x204]
push eax
push 0x436b08
push dword [ebp + 0x14]
push dword [ebp - 0xe50]
call fcn.00404080
add esp, 0x20
push edi
mov edi, dword [0x42f0f8]
call edi
jmp 0x406dc5
push 0x1c
lea eax, [ebp - 0xeb0]
push eax
push 0
push edi
call dword [0x455ad0]
test eax, eax
jne 0x406db4
lea eax, [ebp - 0x204]
push eax
push 0
push dword [ebp - 0xea8]
call fcn.00407240
push dword [ebp - 0xea4]
lea eax, [ebp - 0x204]
push dword [ebp - 0xea8]
push eax
push 0x436b18
push dword [ebp + 0x14]
push dword [ebp - 0xe50]
call fcn.00404080
add esp, 0x24
push edi
mov edi, dword [0x42f0f8]
call edi
jmp 0x406dc5
push ebx
push 0x436b30
push dword [ebp + 0x14]
push dword [ebp - 0xe50]
call fcn.00404080
add esp, 0x10
test edi, edi
je 0x406dbf
push edi
mov edi, dword [0x42f0f8]
call edi
jmp 0x406dc5
mov edi, dword [0x42f0f8]
push 0x436b84
push ebx
call fcn.00413481
add esp, 8
test eax, eax
jne 0x406e72
cmp byte [str.d_j_], al
je 0x406e72
mov eax, dword [ebp - 0xe60]
push 1
push dword [eax + 8]
push dword [eax + 4]
call fcn.004079f0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x406e72
cmp esi, 0xffffffff
je 0x406e72
lea eax, [ebp - 0xe54]
push eax
push 0x10
lea eax, [ebp - 0xe8c]
push eax
push 0
push esi
call dword [0x455ac4]
test eax, eax
jne 0x406e6f
mov eax, dword [ebp - 0xe88]
test eax, 0x8000000
je 0x406e6f
push dword [ebp - 0xe80]
push dword [ebp - 0xe84]
test eax, 0x1000000
jne 0x406e4c
push 0x436b98
jmp 0x406e51
push 0x436be0
push 0x100
push 0
push dword [ebp - 0xe50]
call fcn.0040ab60
add esp, 8
push eax
call fcn.00404080
add esp, 0x14
push esi
call edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040917c
mov esp, ebp
pop ebp
ret