Function at 0x40152c
Capabilities:
Allocate or change rwx memory
Check for software breakpoints
Check http status code
Create a process with modified i/o handles and window
Create process on windows
Create process suspended
Encode data using base64
Encrypt data using rc4 ksa
Execute shellcode via indirect call
Inject apc
Parse pe header
Resume thread
Use process replacement

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
mov eax, 0x26388
call fcn.0064d9c0
sub esp, eax
call dbg.__main
mov dword [ebp - 0x12b88], 0
mov dword [esp], 0x1634
call sym._malloc
mov dword [ebp - 0x12b8c], eax
mov dword [esp], 0x1634
call sym._malloc
mov dword [ebp - 0x12b90], eax
mov dword [esp], 0x1634
call sym._malloc
mov dword [ebp - 0x12b94], eax
mov dword [ebp - 0x20], 0
jmp 0x40163e
mov dword [ebp - 0x24], 0
jmp 0x401630
call sym._rand
mov ecx, eax
mov edx, 0x51eb851f
mov eax, ecx
imul edx
mov eax, edx
sar eax, 4
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x32
mov eax, ecx
sub eax, edx
mov edx, dword [ebp - 0x20]
imul ecx, edx, 0x74
mov edx, dword [ebp - 0x12b8c]
add edx, ecx
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
mov eax, dword [ebp - 0x24]
fstp dword [edx + eax*4]
call sym._rand
mov ecx, eax
mov edx, 0x51eb851f
mov eax, ecx
imul edx
mov eax, edx
sar eax, 4
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x32
mov eax, ecx
sub eax, edx
mov edx, dword [ebp - 0x20]
imul ecx, edx, 0x74
mov edx, dword [ebp - 0x12b90]
add edx, ecx
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
mov eax, dword [ebp - 0x24]
fstp dword [edx + eax*4]
add dword [ebp - 0x24], 1
cmp dword [ebp - 0x24], 0x1c
jle 0x4015a6
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], 0x30
jle 0x40159a
mov dword [ebp - 0x20], 0
jmp 0x4016a6
mov dword [ebp - 0x24], 0
jmp 0x40169c
mov eax, dword [ebp - 0x20]
imul edx, eax, 0x74
mov eax, dword [ebp - 0x12b8c]
add edx, eax
mov eax, dword [ebp - 0x24]
fld dword [edx + eax*4]
mov eax, dword [ebp - 0x20]
imul edx, eax, 0x74
mov eax, dword [ebp - 0x12b90]
add edx, eax
mov eax, dword [ebp - 0x24]
fld dword [edx + eax*4]
mov eax, dword [ebp - 0x20]
imul edx, eax, 0x74
mov eax, dword [ebp - 0x12b94]
add edx, eax
fdivp st(1)
mov eax, dword [ebp - 0x24]
fstp dword [edx + eax*4]
add dword [ebp - 0x24], 1
cmp dword [ebp - 0x24], 0x1c
jle 0x40165a
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], 0x30
jle 0x401651
mov eax, dword [ebp - 0x12b8c]
mov dword [esp], eax
call sym._free
mov eax, dword [ebp - 0x12b90]
mov dword [esp], eax
call sym._free
mov eax, dword [ebp - 0x12b94]
mov dword [esp], eax
call sym._free
mov dword [ebp - 0x28], 0xffffffff
add dword [ebp - 0x28], 1
call sym._rand
imul eax, eax, 0x16e
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
fld qword [0x6561f8]
fdivp st(1)
fstp qword [esp]
call dbg.log
fstp qword [ebp - 0x12ba0]
cmp dword [ebp - 0x28], 0x3b
jle 0x4016dd
mov dword [esp], 0x3a8
call sym._malloc
mov dword [ebp - 0x12ba4], eax
mov dword [esp], 0x3a8
call sym._malloc
mov dword [ebp - 0x12ba8], eax
mov dword [ebp - 0x2c], 0
jmp 0x4017ca
call sym._rand
mov ecx, eax
mov edx, 0x10624dd3
mov eax, ecx
imul edx
mov eax, edx
sar eax, 6
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x3e8
mov eax, ecx
sub eax, edx
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
fstp qword [ebp - 0x26368]
call sym._rand
mov ecx, eax
mov edx, 0xea0ea0eb
mov eax, ecx
imul edx
lea eax, [edx + ecx]
sar eax, 6
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x46
mov eax, ecx
sub eax, edx
mov dword [ebp - 0x26360], eax
fild dword [ebp - 0x26360]
mov eax, dword [ebp - 0x2c]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12ba4]
add eax, edx
fdivr qword [ebp - 0x26368]
fstp qword [eax]
add dword [ebp - 0x2c], 1
cmp dword [ebp - 0x2c], 0x74
jle 0x401744
mov dword [ebp - 0x2c], 0
jmp 0x401812
mov eax, dword [ebp - 0x2c]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12ba4]
add eax, edx
fld qword [eax]
mov eax, dword [ebp - 0x2c]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12ba8]
lea ebx, [edx + eax]
fstp qword [esp]
call sym._floor
fstp qword [ebx]
add dword [ebp - 0x2c], 1
cmp dword [ebp - 0x2c], 0x74
jle 0x4017dd
mov dword [esp], 0x170
call sym._malloc
mov dword [ebp - 0x12bac], eax
mov dword [ebp - 0x30], 0
jmp 0x40186c
call sym._rand
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
fld qword [0x6561f8]
fdivp st(1)
fld st(0)
faddp st(1)
mov eax, dword [ebp - 0x30]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12bac]
add eax, edx
fld1
fsubp st(1)
fstp qword [eax]
add dword [ebp - 0x30], 1
cmp dword [ebp - 0x30], 0x2d
jle 0x401833
mov dword [ebp - 0x30], 0
jmp 0x4018b0
mov eax, dword [ebp - 0x30]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12bac]
add eax, edx
fld qword [eax]
mov eax, dword [ebp - 0x30]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12bac]
lea ebx, [edx + eax]
fstp qword [esp]
call sym._asin
fstp qword [ebx]
add dword [ebp - 0x30], 1
cmp dword [ebp - 0x30], 0x2d
jle 0x40187b
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x12bb0], 0x7f
jmp 0x4018f8
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
add eax, edx
mov dword [ebp - 0x2617c], eax
add dword [ebp - 0x3c], 1
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x2617c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x12bb0]
jl 0x4018d7
fld qword [0x656200]
fstp qword [ebp - 0x48]
fld qword [0x656208]
fstp qword [ebp - 0x12bb8]
jmp 0x401932
fld qword [ebp - 0x12bb8]
fstp qword [esp + 8]
fld qword [ebp - 0x48]
fstp qword [esp]
call dbg.pow
fstp qword [ebp - 0x48]
fld qword [ebp - 0x48]
fld qword [0x656210]
fcompi st(1)
fstp st(0)
ja 0x40191a
mov dword [ebp - 0x4c], 0xffffffff
add dword [ebp - 0x4c], 1
call sym._rand
mov ecx, eax
mov edx, 0x6bca1af3
mov eax, ecx
imul edx
mov eax, edx
sar eax, 3
mov edx, ecx
sar edx, 0x1f
sub eax, edx
mov dword [ebp - 0x12bbc], eax
mov edx, dword [ebp - 0x12bbc]
mov eax, edx
shl eax, 3
add eax, edx
add eax, eax
add eax, edx
sub ecx, eax
mov edx, ecx
mov dword [ebp - 0x12bbc], edx
call sym._rand
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
fld qword [0x6561f8]
fdivp st(1)
mov eax, dword [ebp - 0x12bbc]
mov dword [esp + 8], eax
fstp qword [esp]
call dbg.ldexp
fstp qword [ebp - 0x12bc8]
cmp dword [ebp - 0x4c], 0x11c
jle 0x401948
mov dword [esp], 0xf0
call sym._malloc
mov dword [ebp - 0x12bcc], eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x12bd0], 1
mov dword [ebp - 0x54], 0
jmp 0x401a3e
mov dword [ebp - 0x58], 0
jmp 0x401a34
call sym._rand
mov ecx, eax
mov eax, dword [ebp - 0x54]
imul edx, eax, 0x3c
mov eax, dword [ebp - 0x12bcc]
lea ebx, [edx + eax]
mov edx, 0x51eb851f
mov eax, ecx
imul edx
mov eax, edx
sar eax, 5
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x64
mov eax, ecx
sub eax, edx
mov edx, dword [ebp - 0x58]
mov dword [ebx + edx*4], eax
add dword [ebp - 0x58], 1
cmp dword [ebp - 0x58], 0xe
jle 0x4019f8
add dword [ebp - 0x54], 1
cmp dword [ebp - 0x54], 3
jle 0x4019ef
mov dword [ebp - 0x54], 0
jmp 0x401a80
mov dword [ebp - 0x58], 0
jmp 0x401a76
mov eax, dword [ebp - 0x54]
imul edx, eax, 0x3c
mov eax, dword [ebp - 0x12bcc]
add edx, eax
mov eax, dword [ebp - 0x58]
mov eax, dword [edx + eax*4]
test eax, eax
jne 0x401a72
add dword [ebp - 0x50], 1
add dword [ebp - 0x58], 1
cmp dword [ebp - 0x58], 0xe
jle 0x401a56
add dword [ebp - 0x54], 1
cmp dword [ebp - 0x54], 3
jle 0x401a4d
cmp dword [ebp - 0x50], 0x1e
je 0x401a96
mov dword [ebp - 0x12bd0], 0
mov eax, dword [ebp - 0x12bcc]
mov dword [esp], eax
call sym._free
mov dword [ebp - 0x5c], 0
jmp 0x401ae1
call sym._rand
mov edx, eax
mov eax, edx
shl eax, 2
add eax, edx
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
fld qword [0x6561f8]
fdivp st(1)
fstp qword [esp]
call dbg.exp
fstp qword [ebp - 0x26178]
add dword [ebp - 0x5c], 1
cmp dword [ebp - 0x5c], 0xb9
jle 0x401aad
mov dword [ebp - 0x60], 0xffffffff
mov dword [esp], 0xdd0
call sym._malloc
mov dword [ebp - 0x12bd4], eax
add dword [ebp - 0x60], 1
call sym._rand
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
fld qword [0x6561f8]
fdivp st(1)
fld st(0)
faddp st(1)
mov eax, dword [ebp - 0x60]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12bd4]
add eax, edx
fld1
fsubp st(1)
fstp qword [eax]
mov eax, dword [ebp - 0x60]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12bd4]
add eax, edx
fld qword [eax]
mov eax, dword [ebp - 0x60]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12bd4]
lea ebx, [edx + eax]
fstp qword [esp]
call sym._asin
fstp qword [ebx]
cmp dword [ebp - 0x60], 0x1b8
jle 0x401b03
mov dword [esp], 0x7c8
call sym._malloc
mov dword [ebp - 0x12bd8], eax
mov dword [ebp - 0x64], 0
jmp 0x401bca
call sym._rand
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
fld qword [0x6561f8]
fdivp st(1)
fld st(0)
faddp st(1)
mov eax, dword [ebp - 0x64]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12bd8]
add eax, edx
fld1
fsubp st(1)
fstp qword [eax]
add dword [ebp - 0x64], 1
cmp dword [ebp - 0x64], 0xf8
jle 0x401b91
mov dword [ebp - 0x64], 0
jmp 0x401c0a
mov eax, dword [ebp - 0x64]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12bd8]
add eax, edx
fld qword [eax]
mov eax, dword [ebp - 0x64]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12bd8]
add eax, edx
fabs
fstp qword [eax]
add dword [ebp - 0x64], 1
cmp dword [ebp - 0x64], 0xf8
jle 0x401bdc
mov dword [ebp - 0x68], 0
jmp 0x401c52
call sym._rand
mov edx, eax
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
fld qword [0x6561f8]
fdivp st(1)
fstp qword [esp]
call dbg.exp
fstp qword [ebp - 0x26170]
add dword [ebp - 0x68], 1
cmp dword [ebp - 0x68], 0x128
jle 0x401c1c
mov dword [esp], 0x7a8
call sym._malloc
mov dword [ebp - 0x12bdc], eax
mov dword [esp], 0x7a8
call sym._malloc
mov dword [ebp - 0x12be0], eax
mov dword [ebp - 0x6c], 0
jmp 0x401d11
call sym._rand
mov ecx, eax
mov edx, 0x10624dd3
mov eax, ecx
imul edx
mov eax, edx
sar eax, 6
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x3e8
mov eax, ecx
sub eax, edx
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
fstp qword [ebp - 0x26368]
call sym._rand
mov ecx, eax
mov edx, 0xea0ea0eb
mov eax, ecx
imul edx
lea eax, [edx + ecx]
sar eax, 6
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x46
mov eax, ecx
sub eax, edx
mov dword [ebp - 0x26360], eax
fild dword [ebp - 0x26360]
mov eax, dword [ebp - 0x6c]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12bdc]
add eax, edx
fdivr qword [ebp - 0x26368]
fstp qword [eax]
add dword [ebp - 0x6c], 1
cmp dword [ebp - 0x6c], 0xf4
jle 0x401c8b
mov dword [ebp - 0x6c], 0
jmp 0x401d5c
mov eax, dword [ebp - 0x6c]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12bdc]
add eax, edx
fld qword [eax]
mov eax, dword [ebp - 0x6c]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12be0]
lea ebx, [edx + eax]
fstp qword [esp]
call sym._floor
fstp qword [ebx]
add dword [ebp - 0x6c], 1
cmp dword [ebp - 0x6c], 0xf4
jle 0x401d27
mov dword [ebp - 0x70], 0xffffffff
add dword [ebp - 0x70], 1
call sym._rand
shl eax, 3
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
fld qword [0x6561f8]
fdivp st(1)
fstp qword [esp]
call dbg.exp
fstp qword [ebp - 0x12be8]
cmp dword [ebp - 0x70], 0x55
jle 0x401d6c
mov dword [ebp - 0x74], 0
jmp 0x401e19
call sym._rand
mov ecx, eax
mov edx, 0x38e38e39
mov eax, ecx
imul edx
mov eax, edx
sar eax, 2
mov edx, ecx
sar edx, 0x1f
sub eax, edx
mov dword [ebp - 0x26160], eax
mov edx, dword [ebp - 0x26160]
mov eax, edx
shl eax, 3
add eax, edx
add eax, eax
sub ecx, eax
mov edx, ecx
mov dword [ebp - 0x26160], edx
call sym._rand
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
fld qword [0x6561f8]
fdivp st(1)
mov eax, dword [ebp - 0x26160]
mov dword [esp + 8], eax
fstp qword [esp]
call dbg.ldexp
fstp qword [ebp - 0x26168]
add dword [ebp - 0x74], 1
cmp dword [ebp - 0x74], 0x161
jle 0x401da9
mov dword [ebp - 0x78], 0xffffffff
fldz
fstp qword [ebp - 0x80]
add dword [ebp - 0x78], 1
fild dword [ebp - 0x78]
fld1
faddp st(1)
fstp qword [esp + 8]
fld1
fchs
fstp qword [esp]
call dbg.pow
fild dword [ebp - 0x78]
fld st(0)
faddp st(1)
fld1
fsubp st(1)
fdivp st(1)
fld qword [ebp - 0x80]
faddp st(1)
fstp qword [ebp - 0x80]
cmp dword [ebp - 0x78], 0xfe
jle 0x401e2e
fld qword [ebp - 0x80]
fld qword [0x656218]
fmulp st(1)
fstp qword [ebp - 0x80]
mov dword [esp], 0x420
call sym._malloc
mov dword [ebp - 0x12bec], eax
mov dword [esp], 0x420
call sym._malloc
mov dword [ebp - 0x12bf0], eax
mov dword [ebp - 0x84], 0
jmp 0x401f34
call sym._rand
mov ecx, eax
mov edx, 0x10624dd3
mov eax, ecx
imul edx
mov eax, edx
sar eax, 6
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x3e8
mov eax, ecx
sub eax, edx
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
fstp qword [ebp - 0x26368]
call sym._rand
mov ecx, eax
mov edx, 0xea0ea0eb
mov eax, ecx
imul edx
lea eax, [edx + ecx]
sar eax, 6
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x46
mov eax, ecx
sub eax, edx
mov dword [ebp - 0x26360], eax
fild dword [ebp - 0x26360]
mov eax, dword [ebp - 0x84]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12bec]
add eax, edx
fdivr qword [ebp - 0x26368]
fstp qword [eax]
add dword [ebp - 0x84], 1
cmp dword [ebp - 0x84], 0x83
jle 0x401ea8
mov dword [ebp - 0x84], 0
jmp 0x401f8e
mov eax, dword [ebp - 0x84]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12bec]
add eax, edx
fld qword [eax]
mov eax, dword [ebp - 0x84]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12bf0]
lea ebx, [edx + eax]
fstp qword [esp]
call sym._ceil
fstp qword [ebx]
add dword [ebp - 0x84], 1
cmp dword [ebp - 0x84], 0x83
jle 0x401f50
mov dword [esp], 0x3b4
call sym._malloc
mov dword [ebp - 0x12bf4], eax
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x88], 0
jmp 0x40200f
call sym._rand
mov ecx, eax
mov eax, dword [ebp - 0x88]
lea edx, [eax*4]
mov eax, dword [ebp - 0x12bf4]
lea ebx, [edx + eax]
mov edx, 0xea0ea0eb
mov eax, ecx
imul edx
lea eax, [edx + ecx]
sar eax, 5
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x23
mov eax, ecx
sub eax, edx
mov dword [ebx], eax
add dword [ebp - 0x88], 1
cmp dword [ebp - 0x88], 0xec
jle 0x401fcc
mov dword [ebp - 0x88], 0
jmp 0x40204b
mov eax, dword [ebp - 0x88]
lea edx, [eax*4]
mov eax, dword [ebp - 0x12bf4]
add eax, edx
mov eax, dword [eax]
add dword [ebp - 0x8c], eax
add dword [ebp - 0x88], 1
cmp dword [ebp - 0x88], 0xec
jle 0x402027
mov dword [ebp - 0x88], 0
jmp 0x4020e0
fild dword [ebp - 0x90]
fstp qword [ebp - 0x26368]
mov eax, dword [ebp - 0x88]
lea edx, [eax*4]
mov eax, dword [ebp - 0x12bf4]
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x26360], eax
fild dword [ebp - 0x26360]
fsub dword [ebp - 0x2615c]
fld qword [0x656220]
fstp qword [esp + 8]
fstp qword [esp]
call dbg.pow
fadd qword [ebp - 0x26368]
fnstcw word [ebp - 0x2635a]
movzx eax, word [ebp - 0x2635a]
or ah, 0xc
mov word [ebp - 0x2635c], ax
fldcw word [ebp - 0x2635c]
fistp dword [ebp - 0x90]
fldcw word [ebp - 0x2635a]
add dword [ebp - 0x88], 1
cmp dword [ebp - 0x88], 0xec
jle 0x402063
fild dword [ebp - 0x90]
fld dword [0x656228]
fdivp st(1)
fstp dword [ebp - 0x12bf8]
fld dword [ebp - 0x12bf8]
fstp qword [esp]
call dbg.sqrt
fstp dword [ebp - 0x12bfc]
mov eax, dword [ebp - 0x12bf4]
mov dword [esp], eax
call sym._free
mov dword [ebp - 0x12c00], 0
mov dword [ebp - 0x9c], 0
mov dword [esp], 0x50c
call sym._malloc
mov dword [ebp - 0x12c04], eax
mov dword [ebp - 0x94], 0
jmp 0x4021e1
mov dword [ebp - 0x98], 0
jmp 0x4021d1
call sym._rand
mov ecx, eax
mov eax, dword [ebp - 0x94]
imul edx, eax, 0x4c
mov eax, dword [ebp - 0x12c04]
lea ebx, [edx + eax]
mov edx, 0x51eb851f
mov eax, ecx
imul edx
mov eax, edx
sar eax, 5
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x64
mov eax, ecx
sub eax, edx
mov edx, dword [ebp - 0x98]
mov dword [ebx + edx*4], eax
mov eax, dword [ebp - 0x94]
imul edx, eax, 0x4c
mov eax, dword [ebp - 0x12c04]
add edx, eax
mov eax, dword [ebp - 0x98]
mov eax, dword [edx + eax*4]
test eax, eax
jne 0x4021ca
add dword [ebp - 0x9c], 1
add dword [ebp - 0x98], 1
cmp dword [ebp - 0x98], 0x12
jle 0x402167
add dword [ebp - 0x94], 1
cmp dword [ebp - 0x94], 0x10
jle 0x40215b
cmp dword [ebp - 0x9c], 0xa1
jne 0x402204
mov dword [ebp - 0x12c00], 1
mov eax, dword [ebp - 0x12c04]
mov dword [esp], eax
call sym._free
mov dword [ebp - 0xa4], 0x14
mov dword [ebp - 0xa0], 0x14
jmp 0x402236
sub dword [ebp - 0xa4], 1
sub dword [ebp - 0xa0], 1
cmp dword [ebp - 0xa0], 0x24
jg 0x402228
mov dword [esp], 0x1d4
call sym._malloc
mov dword [ebp - 0x12c08], eax
mov dword [esp], 0x1d4
call sym._malloc
mov dword [ebp - 0x12c0c], eax
mov dword [esp], 0x1d4
call sym._malloc
mov dword [ebp - 0x12c10], eax
mov dword [esp], 0x1d4
call sym._malloc
mov dword [ebp - 0x12c14], eax
mov dword [ebp - 0xac], 0x74
mov dword [ebp - 0xa8], 0
jmp 0x402386
call sym._rand
mov ecx, eax
mov eax, dword [ebp - 0xa8]
lea edx, [eax*4]
mov eax, dword [ebp - 0x12c08]
lea ebx, [edx + eax]
mov edx, 0x1b4e81b5
mov eax, ecx
imul edx
mov eax, edx
sar eax, 5
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x12c
mov eax, ecx
sub eax, edx
mov dword [ebx], eax
call sym._rand
mov ecx, eax
mov eax, dword [ebp - 0xa8]
lea edx, [eax*4]
mov eax, dword [ebp - 0x12c0c]
lea ebx, [edx + eax]
mov edx, 0x1b4e81b5
mov eax, ecx
imul edx
mov eax, edx
sar eax, 5
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x12c
mov eax, ecx
sub eax, edx
mov dword [ebx], eax
mov eax, dword [ebp - 0xac]
lea edx, [eax*4]
mov eax, dword [ebp - 0x12c08]
add eax, edx
mov edx, dword [ebp - 0xa8]
lea ecx, [edx*4]
mov edx, dword [ebp - 0x12c10]
add edx, ecx
mov eax, dword [eax]
mov dword [edx], eax
mov eax, dword [ebp - 0xac]
lea edx, [eax*4]
mov eax, dword [ebp - 0x12c0c]
add eax, edx
mov edx, dword [ebp - 0xa8]
lea ecx, [edx*4]
mov edx, dword [ebp - 0x12c14]
add edx, ecx
mov eax, dword [eax]
mov dword [edx], eax
sub dword [ebp - 0xac], 1
add dword [ebp - 0xa8], 1
cmp dword [ebp - 0xa8], 0x74
jle 0x4022a0
mov eax, dword [ebp - 0x12c08]
mov dword [esp], eax
call sym._free
mov eax, dword [ebp - 0x12c0c]
mov dword [esp], eax
call sym._free
mov eax, dword [ebp - 0x12c10]
mov dword [esp], eax
call sym._free
mov eax, dword [ebp - 0x12c14]
mov dword [esp], eax
call sym._free
mov dword [ebp - 0xb0], 0xffffffff
fldz
fstp qword [ebp - 0xb8]
add dword [ebp - 0xb0], 1
fild dword [ebp - 0xb0]
fld1
faddp st(1)
fstp qword [esp + 8]
fld1
fchs
fstp qword [esp]
call dbg.pow
fild dword [ebp - 0xb0]
fld st(0)
faddp st(1)
fld1
fsubp st(1)
fdivp st(1)
fld qword [ebp - 0xb8]
faddp st(1)
fstp qword [ebp - 0xb8]
cmp dword [ebp - 0xb0], 0x170
jle 0x4023dd
fld qword [ebp - 0xb8]
fld qword [0x656218]
fmulp st(1)
fstp qword [ebp - 0xb8]
mov dword [ebp - 0xbc], 0xffffffff
add dword [ebp - 0xbc], 1
call sym._rand
imul eax, eax, 0xce
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
fld qword [0x6561f8]
fdivp st(1)
fstp qword [esp]
call dbg.log
fstp qword [ebp - 0x12c20]
cmp dword [ebp - 0xbc], 0x51
jle 0x402446
mov dword [esp], 0x274
call sym._malloc
mov dword [ebp - 0x12c24], eax
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc0], 0
jmp 0x402549
call sym._rand
mov ecx, eax
mov eax, dword [ebp - 0xc0]
lea edx, [eax*4]
mov eax, dword [ebp - 0x12c24]
lea ebx, [edx + eax]
mov edx, 0x10624dd3
mov eax, ecx
imul edx
mov eax, edx
sar eax, 6
mov edx, ecx
sar edx, 0x1f
sub eax, edx
imul edx, eax, 0x3e8
mov eax, ecx
sub eax, edx
mov dword [ebx], eax
mov eax, dword [ebp - 0xc0]
lea edx, [eax*4]
mov eax, dword [ebp - 0x12c24]
add eax, edx
mov eax, dword [eax]
and eax, 1
test eax, eax
je 0x40251d
add dword [ebp - 0xc4], 1
jmp 0x402542
mov eax, dword [ebp - 0xc0]
lea edx, [eax*4]
mov eax, dword [ebp - 0x12c24]
add eax, edx
mov eax, dword [eax]
and eax, 1
test eax, eax
jne 0x402542
add dword [ebp - 0xc8], 1
add dword [ebp - 0xc0], 1
cmp dword [ebp - 0xc0], 0x9c
jle 0x4024b8
mov eax, dword [ebp - 0x12c24]
mov dword [esp], eax
call sym._free
mov dword [esp], 0x510
call sym._malloc
mov dword [ebp - 0x12c28], eax
mov dword [ebp - 0xcc], 0
jmp 0x4025c4
call sym._rand
mov dword [ebp - 0x26368], eax
fild dword [ebp - 0x26368]
fld qword [0x6561f8]
fdivp st(1)
fld st(0)
faddp st(1)
mov eax, dword [ebp - 0xcc]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12c28]
add eax, edx
fld1
fsubp st(1)
fstp qword [eax]
add dword [ebp - 0xcc], 1
cmp dword [ebp - 0xcc], 0xa1
jle 0x402585
mov dword [ebp - 0xcc], 0
jmp 0x402613
mov eax, dword [ebp - 0xcc]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12c28]
add eax, edx
fld qword [eax]
mov eax, dword [ebp - 0xcc]
lea edx, [eax*8]
mov eax, dword [ebp - 0x12c28]
add eax, edx
fabs
fstp qword [eax]
add dword [ebp - 0xcc], 1
cmp dword [ebp - 0xcc], 0xa1
jle 0x4025dc
mov dword [ebp - 0xd0], 0x8c
mov dword [ebp - 0xd4], 0x46
mov dword [ebp - 0xd8], 0x1e0
mov dword [ebp - 0xdc], 0x168
jmp 0x40270a
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xdc]
jle 0x4026a8
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xd0]
jle 0x402688
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0xd4]
jle 0x40267f
sub dword [ebp - 0xd8], 1
jmp 0x4026f4
sub dword [ebp - 0xd4], 1
jmp 0x4026f4
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0xd4]
jle 0x40269f
sub dword [ebp - 0xd0], 1
jmp 0x4026f4
sub dword [ebp - 0xd4], 1
jmp 0x4026f4
mov eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0xd0]
jle 0x4026d6
mov eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0xd4]
jle 0x4026cd
sub dword [ebp - 0xdc], 1
jmp 0x4026f4
sub dword [ebp - 0xd4], 1
jmp 0x4026f4
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0xd4]
jle 0x4026ed
sub dword [ebp - 0xd0], 1
jmp 0x4026f4
sub dword [ebp - 0xd4], 1
mov eax, dword [ebp - 0xd8]
mov dword [esp + 4], eax
mov dword [esp], 0x656048
call sym._printf
cmp dword [ebp - 0xd8], 0
jg 0x40264c
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xe4], 1
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0x12c2c], 0x61
jmp 0x402774
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe4]
add eax, edx
mov dword [ebp - 0x26158], eax
add dword [ebp - 0xe8], 1
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x26158]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe8]
cmp eax, dword [ebp - 0x12c2c]
jl 0x402741
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0x12c30], 0xd6
mov dword [ebp - 0x12c34], 0x6b
mov eax, dword [ebp - 0x12c30]
add eax, 1
shl eax, 2
mov dword [esp], eax
call sym._malloc
mov dword [ebp - 0x12c38], eax
mov dword [ebp - 0xec], 0
jmp 0x4027ea
mov eax, dword [ebp - 0xec]
lea edx, [eax*4]
mov eax, dword [ebp - 0x12c38]
add edx, eax
mov eax, dword [ebp - 0xec]
mov dword [edx], eax
add dword [ebp - 0xec], 1
mov eax, dword [ebp - 0xec]
cmp eax, dword [ebp - 0x12c34]
jl 0x4027c6
mov dword [ebp - 0xec], 1
jmp 0x402881
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xf0], eax
jmp 0x40284e
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xf0]
add edx, eax
mov eax, dword [ebp - 0xec]
add eax, eax
add edx, eax
mov eax, dword [ebp - 0xf0]
add eax, edx
lea edx, [eax*4]
mov eax, dword [ebp - 0x12c38]
add eax, edx
mov dword [eax], 0
add dword [ebp - 0xf0], 1
mov eax, dword [ebp - 0x12c34]
sub eax, dword [ebp - 0xec]
mov edx, dword [ebp - 0xec]
add edx, edx
lea esi, [edx + 1]
mov dword [ebp - 0x26368], esi
cdq
idiv dword [ebp - 0x26368]
cmp dword [ebp - 0xf0], eax
jle 0x402812
add dword [ebp - 0xec], 1
mov eax, dword [ebp - 0xec]
cmp eax, dword [ebp - 0x12c34]
jl 0x402804
cmp dword [ebp - 0x12c30], 2
jle 0x4028c0
mov eax, dword [ebp - 0xf4]
lea edx, [eax + 1]
mov dword [ebp - 0xf4], edx
lea edx, [eax*4]
mov eax, dword [ebp - 0x12c38]
add eax, edx
mov dword [eax], 2
mov dword [ebp - 0xec], 1
jmp 0x40291a
mov eax, dword [ebp - 0xec]
cmp eax, dword [ebp - 0x12c34]
jl 0x4028cc