Function at 0x4af397
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
cmp dword [ebp + 8], 0
je 0x4af407
push 8
push dword [ebp + 8]
call fcn.00402f7f
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4af407
xor eax, eax
jmp 0x4af40c
mov eax, 1
test eax, eax
je 0x4af41e
mov eax, 0
jmp 0x4afce3
cmp dword [ebp + 0x14], 3
je 0x4af45e
cmp dword [ebp + 0x14], 2
je 0x4af45e
cmp dword [ebp + 0x14], 1
je 0x4af45e
cmp dword [ebp + 0x14], 9
je 0x4af45e
cmp dword [ebp + 0x14], 7
je 0x4af45e
cmp dword [ebp + 0x14], 5
je 0x4af45e
xor eax, eax
jmp 0x4af463
mov eax, 1
test eax, eax
je 0x4af4e1
fild dword [ebp + 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fmul qword [0x7b96f6]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x5192f8]
fstp qword [ebp - 0x3c]
mov dword [ebp - 0x40], esp
fld qword [ebp - 0x3c]
call fcn.0040116b
push eax
push 0x40
xor eax, eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
nop
nop
cmp dword [ebp - 0x40], esp
je 0x4af4c0
push 0x2a0
push 0x426d12a
push 6
call fcn.004e0834
add esp, 0xc
mov dword [ebp - 4], eax
push 0
push 4
push dword [ebp - 4]
call fcn.004126aa
mov dword [ebp + 0x14], 3
jmp 0x4af639
cmp dword [ebp + 0x14], 6
je 0x4af503
cmp dword [ebp + 0x14], 8
je 0x4af503
cmp dword [ebp + 0x14], 4
je 0x4af503
xor eax, eax
jmp 0x4af508
mov eax, 1
test eax, eax
je 0x4af59b
fild dword [ebp + 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fmul qword [0x7b96f6]
fstp qword [ebp - 0x34]
fild dword [ebp + 0x10]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fmul qword [0x519326]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x34]
fadd qword [ebp - 0x44]
fadd qword [0x5192f8]
fstp qword [ebp - 0x4c]
mov dword [ebp - 0x50], esp
fld qword [ebp - 0x4c]
call fcn.0040116b
push eax
push 0x40
xor eax, eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
nop
nop
cmp dword [ebp - 0x50], esp
je 0x4af57a
push 0x424
push 0x426d12a
push 6
call fcn.004e0834
add esp, 0xc
mov dword [ebp - 4], eax
push 0
push 4
push dword [ebp - 4]
call fcn.004126aa
mov dword [ebp + 0x14], 4
jmp 0x4af639
cmp dword [ebp + 0x14], 0xa
je 0x4af5b3
cmp dword [ebp + 0x14], 0xb
je 0x4af5b3
xor eax, eax
jmp 0x4af5b8
mov eax, 1
test eax, eax
je 0x4af62f
fild dword [ebp + 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fmul qword [0x7b96f6]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x5192f8]
fstp qword [ebp - 0x3c]
mov dword [ebp - 0x40], esp
fld qword [ebp - 0x3c]
call fcn.0040116b
push eax
push 0x40
xor eax, eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
nop
nop
cmp dword [ebp - 0x40], esp
je 0x4af615
push 0x54b
push 0x426d12a
push 6
call fcn.004e0834
add esp, 0xc
mov dword [ebp - 4], eax
push 1
push 4
push dword [ebp - 4]
call fcn.004126aa
jmp 0x4af639
mov eax, 0
jmp 0x4afce3
push 8
push dword [ebp + 8]
call fcn.00402f7f
push eax
push 8
push dword [ebp - 4]
call fcn.004126aa
mov eax, dword [ebp + 0x10]
xor ecx, ecx
push eax
lea eax, [ebp - 8]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x4afbae
fild dword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fild dword [ebp + 0xc]
fstp qword [ebp - 0x34]
fadd qword [ebp - 0x34]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fsub qword [0x51931e]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fmul qword [0x7b96f6]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
fsub qword [0x519326]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
call fcn.0040116b
mov dword [ebp - 0xc], eax
fild dword [ebp + 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fild dword [ebp - 0xc]
fstp qword [ebp - 0x34]
fadd qword [ebp - 0x34]
fadd qword [0x519326]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
call fcn.0040116b
push eax
call fcn.004afce9
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x4af6ed
jmp 0x4afbae
push dword [ebp - 0xc]
push dword [ebp + 8]
call fcn.00402f7f
mov dword [ebp - 0x10], eax
cmp dword [ebp + 0x14], 3
jne 0x4af77b
fild dword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fmul qword [0x7b96f6]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x519326]
fstp qword [ebp - 0x3c]
push 3
fld qword [ebp - 0x3c]
call fcn.0040116b
push eax
push dword [ebp - 4]
call fcn.004126aa
fild dword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fmul qword [0x7b96f6]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x7b96f6]
fstp qword [ebp - 0x3c]
push 0
push dword [ebp - 0x10]
call fcn.00402f7f
push eax
fld qword [ebp - 0x3c]
call fcn.0040116b
push eax
push dword [ebp - 4]
call fcn.004126aa
jmp 0x4afba6
cmp dword [ebp + 0x14], 4
jne 0x4af841
fild dword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fmul qword [0x94e470]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.0040116b
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fsub qword [0x519326]
fstp qword [ebp - 0x34]
push 4
fld qword [ebp - 0x34]
call fcn.0040116b
push eax
push dword [ebp - 4]
call fcn.004126aa
push 0
push dword [ebp - 0x10]
call fcn.00402f7f
push eax
push dword [ebp - 0x14]
push dword [ebp - 4]
call fcn.004126aa
fild dword [ebp - 0x14]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x519326]
fstp qword [ebp - 0x34]
push 4
fld qword [ebp - 0x34]
call fcn.0040116b
push eax
push dword [ebp - 4]
call fcn.004126aa
fild dword [ebp - 0x14]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x7b96f6]
fstp qword [ebp - 0x34]
push 4
push dword [ebp - 0x10]
call fcn.00402f7f
push eax
fld qword [ebp - 0x34]
call fcn.0040116b
push eax
push dword [ebp - 4]
call fcn.004126aa
jmp 0x4afba6
push 0
push dword [ebp - 0x10]
call fcn.00402f7f
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4af8c8
fild dword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fmul qword [0x7b96f6]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x519326]
fstp qword [ebp - 0x3c]
push 3
fld qword [ebp - 0x3c]
call fcn.0040116b
push eax
push dword [ebp - 4]
call fcn.004126aa
fild dword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fmul qword [0x7b96f6]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x7b96f6]
fstp qword [ebp - 0x3c]
push 0
fld qword [ebp - 0x3c]
call fcn.0040116b
push eax
push dword [ebp - 4]
call fcn.004126aa
jmp 0x4afba6
fild dword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fsub qword [0x7b96f6]
fstp qword [ebp - 0x34]
push 0
fld qword [ebp - 0x34]
call fcn.0040116b
push eax
call fcn.00402f7f
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 1
jne 0x4af8fe
sub dword [ebp - 0x10], 8
push 0
push dword [ebp - 0x10]
call fcn.00402f7f
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jne 0x4afa93
fild dword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x519326]
fstp qword [ebp - 0x34]
push 0
fld qword [ebp - 0x34]
call fcn.0040116b
push eax
call fcn.00402f7f
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x7b96f6]
fstp qword [ebp - 0x34]
mov dword [ebp - 0x38], esp
fld qword [ebp - 0x34]
call fcn.0040116b
push eax
push 0x40
xor eax, eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
nop
nop
cmp dword [ebp - 0x38], esp
je 0x4af989
push 0x12ad
push 0x426d12a
push 6
call fcn.004e0834
add esp, 0xc
mov dword [ebp - 0x1c], eax
push 1
push 0
push dword [ebp - 0x1c]
call fcn.004126aa
push dword [ebp - 0x18]
push 4
push dword [ebp - 0x1c]
call fcn.004126aa
fild dword [ebp - 0x1c]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x7b96f6]
fstp qword [ebp - 0x34]
fild dword [ebp - 0x10]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fadd qword [0x7b96f6]
fstp qword [ebp - 0x44]
mov dword [ebp - 0x48], esp
push dword [ebp - 0x18]
fld qword [ebp - 0x44]
call fcn.0040116b
push eax
fld qword [ebp - 0x34]
call fcn.0040116b
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x48], esp
je 0x4afa10
push 0x135d
push 0x426d12a
push 6
call fcn.004e0834
add esp, 0xc
fild dword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fmul qword [0x7b96f6]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x519326]
fstp qword [ebp - 0x3c]
push 0xb
fld qword [ebp - 0x3c]
call fcn.0040116b
push eax
push dword [ebp - 4]
call fcn.004126aa
fild dword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fmul qword [0x7b96f6]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x7b96f6]
fstp qword [ebp - 0x3c]
fild dword [ebp - 0x1c]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x7b96f6]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.0040116b
push eax
fld qword [ebp - 0x3c]
call fcn.0040116b
push eax
push dword [ebp - 4]
call fcn.004126aa
jmp 0x4afba6
mov dword [ebp - 0x28], esp
push dword [ebp - 0x10]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
nop
nop
cmp dword [ebp - 0x28], esp
je 0x4afabf
push 0x14ab
push 0x426d12a
push 6
call fcn.004e0834
add esp, 0xc
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x51931e]
fstp qword [ebp - 0x34]
mov dword [ebp - 0x38], esp
fld qword [ebp - 0x34]
call fcn.0040116b
push eax
push 0x40
xor eax, eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
nop
nop
cmp dword [ebp - 0x38], esp
je 0x4afb0b
push 0x1529
push 0x426d12a
push 6
call fcn.004e0834
add esp, 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], esp
push dword [ebp - 0x18]
push dword [ebp - 0x10]
push dword [ebp - 0x1c]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x28], esp
je 0x4afb40
push 0x154e
push 0x426d12a
push 6
call fcn.004e0834
add esp, 0xc
fild dword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fmul qword [0x7b96f6]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x519326]
fstp qword [ebp - 0x3c]
push 0xa
fld qword [ebp - 0x3c]
call fcn.0040116b
push eax
push dword [ebp - 4]
call fcn.004126aa
fild dword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fmul qword [0x7b96f6]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [0x7b96f6]
fstp qword [ebp - 0x3c]
push dword [ebp - 0x1c]
fld qword [ebp - 0x3c]
call fcn.0040116b
push eax
push dword [ebp - 4]
call fcn.004126aa
pop eax
pop ebx
pop ecx
jmp 0x4af660
add esp, 0xc
dec dword [ebp - 8]
cmp dword [ebp + 0x14], 4
jne 0x4afbdb
fild dword [ebp - 8]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fmul qword [0x6180c1]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.0040116b
mov dword [ebp - 8], eax
push dword [ebp - 8]
push 0
push dword [ebp - 4]
call fcn.004126aa
push 0x10
push dword [ebp + 8]
call fcn.00402f7f
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jne 0x4afc32
push 0xc
push dword [ebp + 8]
call fcn.00402f7f
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jne 0x4afc2b
mov dword [ebp - 0x14], 4
jmp 0x4afc32
mov dword [ebp - 0x14], 0
push reloc.OLEAUT32.dll_SysStringLen
push 0
push 0x4b0113
push 1
mov ebx, 0x9dc
call fcn.004e3630
add esp, 0x10
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x24]
push eax
call fcn.00416973
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], esp
push dword [ebp - 0x2c]
push dword [ebp - 0x14]
push dword [ebp - 4]
push dword [ebp - 0x28]
push 0
push 0
xor eax, eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
nop
nop
cmp dword [ebp - 0x30], esp
je 0x4afc9e
push 0x1b31
push 0x426d12a
push 6
call fcn.004e0834
add esp, 0xc
mov dword [ebp - 0x20], eax
push 0x18
push dword [ebp + 8]
call fcn.00402f7f
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jne 0x4afcdb
push 0x14
push dword [ebp + 8]
call fcn.00402f7f
mov dword [ebp - 0x28], eax
push dword [ebp - 0x24]
push 0
push dword [ebp - 0x28]
call fcn.004126aa
mov eax, dword [ebp - 0x20]
jmp 0x4afce3
mov esp, ebp
pop ebp
ret 0x10