Function at 0x425b50
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x512e89
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
mov eax, dword [0x79b0b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x70], 0
mov eax, dword [0x7a0a38]
test eax, eax
je 0x425ba1
push eax
call fcn.0041d250
mov dword [0x7a0a38], 0
mov eax, dword [0x7a0a3c]
test eax, eax
je 0x425bba
push eax
call fcn.0041d250
mov dword [0x7a0a3c], 0
mov ecx, dword [0x7a0a2c]
mov esi, dword [0x7a0a28]
mov dword [ebp - 0x30], esi
cmp ecx, dword [0x7a0a4c]
jb 0x425be2
ja 0x425bdb
cmp esi, dword [0x7a0a48]
jb 0x425be2
xor eax, eax
jmp 0x4263a2
mov edi, dword [0x7a0a54]
xor edx, edx
imul edi, dword [0x7a0a24]
xorps xmm0, xmm0
mov ecx, dword [0x7a0a64]
imul ecx, dword [0x7a0a54]
movq qword [ebp - 0x3c], xmm0
mov dword [ebp - 0x34], 0
mov eax, edi
mov dword [ebp - 0x7c], edi
div dword [0x7a0a60]
mov dword [ebp - 0x74], ecx
mov ebx, eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 4], 0
xor eax, eax
mov dword [ebp - 0x54], eax
xor edx, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x28], eax
mov eax, dword [0x7a0a08]
mov dword [ebp - 0x64], edx
cmp eax, dword [0x7a0a0c]
je 0x425d9e
mov eax, dword [0x7a0a60]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x64], edx
test eax, eax
je 0x425d9c
nop
mov ecx, edx
dec eax
imul ecx, ebx
cmp edx, eax
jne 0x425c95
mov eax, edi
sub eax, ecx
cmp eax, ebx
cmovb eax, ebx
mov ebx, eax
mov eax, dword [0x7a0a40]
lea edx, [esi + eax]
mov dword [ebp - 0x18], edx
xor edx, edx
cmp edx, dword [0x7a0a4c]
jb 0x425cbb
mov edx, dword [0x7a0a48]
ja 0x425cb7
cmp dword [ebp - 0x18], edx
jbe 0x425cbb
mov eax, edx
sub eax, esi
lea edx, [ebp - 0x28]
mov dword [ebp - 0x14], 0
push edx
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x30], 0
push edx
lea edx, [ebp - 0x30]
mov dword [ebp - 0x2c], 0
push edx
lea edx, [ebp - 0x14]
mov dword [ebp - 0x28], 0
push edx
push eax
push ebx
push esi
push ecx
push dword [ebp - 0x74]
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push edi
push ecx
lea ecx, [ebp - 0x24]
movq qword [ebp - 0x24], xmm0
call fcn.00420a20
add esp, 0x2c
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x54]
cmp ecx, dword [ebp - 0x14]
push dword [ebp - 0x60]
cmovb ecx, dword [ebp - 0x14]
push dword [ebp - 0x20]
mov esi, dword [ebp - 0x58]
push dword [ebp - 0x24]
mov dword [ebp - 0x54], ecx
push dword [ebp - 0x38]
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x30]
cmovb ecx, dword [ebp - 0x30]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x50]
cmp ecx, dword [ebp - 0x2c]
cmovb ecx, dword [ebp - 0x2c]
cmp esi, dword [ebp - 0x28]
mov dword [ebp - 0x50], ecx
cmovb esi, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x28], esi
call fcn.004349c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.0042aa70
mov edx, dword [ebp - 0x48]
mov eax, dword [0x7a0a60]
inc edx
mov dword [ebp - 0x48], edx
cmp edx, eax
jae 0x425d89
mov esi, dword [0x7a0a28]
jmp 0x425c80
mov edx, esi
mov dword [ebp - 0x78], ebx
mov esi, dword [0x7a0a28]
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x30], esi
jmp 0x425d9e
xor edx, edx
mov eax, dword [0x7a0a2c]
xor ecx, ecx
mov dword [ebp - 0x48], ecx
cmp ecx, eax
jb 0x425dba
ja 0x425db2
cmp edx, esi
jbe 0x425dba
mov edx, esi
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x64], edx
push dword [0x7a0a34]
mov ecx, esi
push dword [0x7a0a30]
sub ecx, edx
sbb eax, dword [ebp - 0x48]
push eax
push ecx
call fcn.004639b0
mov ecx, esi
mov dword [ebp - 0x18], eax
add ecx, dword [0x7a0a40]
mov eax, dword [0x7a0a2c]
adc eax, dword [0x7a0a44]
mov dword [ebp - 0x5c], edx
mov edx, dword [0x7a0a4c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x58], edx
cmp edx, eax
ja 0x425e0b
mov eax, dword [0x7a0a48]
mov dword [ebp - 0x48], eax
jb 0x425e16
cmp eax, ecx
jb 0x425e16
mov edx, dword [ebp - 0x14]
mov eax, ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x58], edx
mov edi, dword [ebp - 0x60]
mov ecx, eax
sub ecx, esi
mov dword [ebp - 0x14], ecx
mov dword [edi], ecx
mov edi, dword [ebp - 0x7c]
jne 0x425e2e
xor esi, esi
jmp 0x426391
push dword [0x7a0a34]
push dword [0x7a0a30]
push edx
push eax
call fcn.004639b0
mov ecx, dword [0x7a0a48]
mov dword [ebp - 0x54], eax
mov eax, dword [0x7a0a4c]
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x48], ecx
jne 0x425e5c
cmp dword [ebp - 0x58], eax
je 0x425eab
push eax
push ecx
push dword [0x7a0a34]
push dword [0x7a0a30]
call fcn.004639b0
mov dword [ebp - 0x48], eax
mov eax, dword [0x7a0a34]
mov dword [ebp - 0x60], edx
mul dword [ebp - 0x4c]
mov ecx, eax
mov eax, dword [0x7a0a30]
mul dword [ebp - 0x4c]
add ecx, edx
add eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x60]
adc ecx, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
cmp edx, ecx
ja 0x425eab
mov ecx, dword [ebp - 0x48]
jb 0x425ea5
cmp ecx, eax
jae 0x425eab
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
push dword [ebp - 0x50]
mov edx, dword [ebp - 0x14]
xor eax, eax
push dword [ebp - 0x54]
add edx, esi
push dword [ebp - 0x5c]
adc eax, dword [0x7a0a2c]
push dword [ebp - 0x18]
mov dword [0x7a0a28], edx
push dword [0x7a0a20]
mov dword [0x7a0a2c], eax
call fcn.0041d0e0
mov ecx, dword [0x7a0a30]
mov edx, dword [ebp - 0x64]
imul edx, ecx
imul ecx, esi
mov dword [0x7a0a38], eax
add edx, eax
mov eax, edx
mov dword [ebp - 0x14], edx
sub eax, ecx
xor ecx, ecx
mov dword [ebp - 0x58], eax
mov eax, dword [0x7a0a08]
cmp eax, dword [0x7a0a0c]
je 0x426387
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push dword [ebp - 0x5c]
push dword [ebp - 0x18]
push dword [0x7a0a50]
call fcn.0041d0e0
mov edx, dword [ebp - 0x64]
xorps xmm0, xmm0
mov ecx, dword [0x7a0a30]
imul edx, ecx
imul ecx, esi
mov dword [0x7a0a3c], eax
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x1c], 0
add edx, eax
mov dword [ebp - 0x24], 0
mov eax, edx
mov dword [ebp - 0x64], edx
sub eax, ecx
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x1c], 0
mov byte [ebp - 4], 2
xor ecx, ecx
mov eax, dword [0x7a09c0]
cmp eax, dword [0x7a09c4]
mov eax, dword [0x7a0a60]
mov dword [ebp - 0x5c], ecx
je 0x42615f
test eax, eax
je 0x426338
mov dword [ebp - 0x4c], ecx
mov edx, ecx
dec eax
imul edx, ebx
cmp ecx, eax
jne 0x425fa3
mov ebx, edi
sub ebx, edx
mov dword [ebp - 0x78], ebx
mov eax, dword [0x7a0a40]
lea ecx, [eax + esi]
mov dword [ebp - 0x60], ecx
xor ecx, ecx
cmp ecx, dword [0x7a0a4c]
jb 0x425fc9
mov ecx, dword [0x7a0a48]
ja 0x425fc5
cmp dword [ebp - 0x60], ecx
jbe 0x425fc9
mov eax, ecx
sub eax, esi
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x44]
push ecx
push eax
push ebx
push esi
push edx
push dword [ebp - 0x74]
push edi
push ecx
lea ecx, [ebp - 0x88]
call fcn.00420a20
add esp, 0x2c
mov esi, eax
mov byte [ebp - 4], 3
lea eax, [ebp - 0x3c]
cmp eax, esi
je 0x426029
mov ecx, eax
call fcn.0042aa70
mov ecx, dword [esi]
mov dword [ebp - 0x3c], ecx
mov eax, dword [esi + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x34], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x88]
call fcn.0042aa70
mov edi, dword [ebp - 0x4c]
mov esi, dword [0x7a09c0]
add edi, dword [0x7a0a08]
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 4
push 0x34
call fcn.00462d48
mov ebx, eax
add esp, 4
mov dword [ebp - 0x54], ebx
mov byte [ebp - 4], 5
lea ecx, [ebx + 0x24]
movss xmm0, dword [0x79c318]
mov eax, dword [ebp - 0x48]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x74]
movss dword [ebx], xmm0
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0x10], eax
mov eax, dword [0x7a0a58]
mov dword [ebx + 0x14], eax
mov eax, dword [0x7a0a5c]
mov dword [ebx + 0x18], eax
lea eax, [ebp - 0x3c]
mov dword [ebx + 0x1c], esi
push eax
mov dword [ebx + 0x20], edi
mov dword [ebp - 0x50], ecx
call fcn.0043b630
mov byte [ebp - 4], 8
mov dword [ebx + 0x30], 0x42ebd0
mov byte [ebp - 4], 4
lea eax, [ebp - 0x68]
mov edi, dword [ebp - 0x70]
push eax
push 0
push ebx
push 0x43aba0
push 0
or edi, 1
mov dword [ebp - 0x18], ebx
push 0
mov dword [ebp - 0x70], edi
call fcn.0046b542
add esp, 0x18
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x4263cc
and edi, 0xfffffffe
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x70], edi
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x1c]
je 0x42611e
mov eax, dword [ebp - 0x6c]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x68]
movlpd qword [ebp - 0x6c], xmm0
mov dword [edx], eax
mov dword [edx + 4], ecx
add dword [ebp - 0x20], 8
jmp 0x42612b
lea eax, [ebp - 0x6c]
push eax
push edx
lea ecx, [ebp - 0x24]
call fcn.0042edd0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x68], 0
jne 0x4263c7
mov ecx, dword [ebp - 0x5c]
add dword [ebp - 0x4c], 0x2c
inc ecx
mov eax, dword [0x7a0a60]
mov ebx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 0x5c], ecx
cmp ecx, eax
jb 0x425f92
jmp 0x426338
test eax, eax
je 0x426338
mov dword [ebp - 0x4c], ecx
nop word [eax + eax]
mov edx, ecx
dec eax
imul edx, ebx
cmp ecx, eax
jne 0x426181
mov ebx, edi
sub ebx, edx
mov dword [ebp - 0x78], ebx
mov eax, dword [0x7a0a40]
lea ecx, [esi + eax]
mov dword [ebp - 0x60], ecx
xor ecx, ecx
cmp ecx, dword [0x7a0a4c]
jb 0x4261a7
mov ecx, dword [0x7a0a48]
ja 0x4261a3
cmp dword [ebp - 0x60], ecx
jbe 0x4261a7
mov eax, ecx
sub eax, esi
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x44]
push ecx
push eax
push ebx
push esi
push edx
push dword [ebp - 0x74]
push edi
push ecx
lea ecx, [ebp - 0x88]
call fcn.00420a20
add esp, 0x2c
mov esi, eax
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x3c]
cmp eax, esi
je 0x426207
mov ecx, eax
call fcn.0042aa70
mov ecx, dword [esi]
mov dword [ebp - 0x3c], ecx
mov eax, dword [esi + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x34], eax
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x88]
call fcn.0042aa70
mov edi, dword [ebp - 0x4c]
mov esi, dword [0x7a09fc]
add edi, dword [0x7a0a08]
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 0xf
push 0x34
call fcn.00462d48
mov ebx, eax
add esp, 4
mov dword [ebp - 0x54], ebx
mov byte [ebp - 4], 0x10
lea ecx, [ebx + 0x24]
movss xmm0, dword [0x79c318]
mov eax, dword [ebp - 0x48]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x74]
movss dword [ebx], xmm0
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0x10], eax
mov eax, dword [0x7a0a58]
mov dword [ebx + 0x14], eax
mov eax, dword [0x7a0a5c]
mov dword [ebx + 0x18], eax
lea eax, [ebp - 0x3c]
mov dword [ebx + 0x1c], esi
push eax
mov dword [ebx + 0x20], edi
mov dword [ebp - 0x50], ecx
call fcn.0043b630
mov byte [ebp - 4], 0x13
mov dword [ebx + 0x30], 0x42ec30
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x68]
mov edi, dword [ebp - 0x70]
push eax
push 0
push ebx
push 0x43aba0
push 0
or edi, 2
mov dword [ebp - 0x18], ebx
push 0
mov dword [ebp - 0x70], edi
call fcn.0046b542
add esp, 0x18
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x4263cc
and edi, 0xfffffffd
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x70], edi
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x1c]
je 0x4262fc
mov eax, dword [ebp - 0x6c]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x68]
movlpd qword [ebp - 0x6c], xmm0
mov dword [edx], eax
mov dword [edx + 4], ecx
add dword [ebp - 0x20], 8
jmp 0x426309
lea eax, [ebp - 0x6c]
push eax
push edx
lea ecx, [ebp - 0x24]
call fcn.0042edd0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x68], 0
jne 0x4263c7
mov ecx, dword [ebp - 0x5c]
add dword [ebp - 0x4c], 0x2c
inc ecx
mov eax, dword [0x7a0a60]
mov ebx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 0x5c], ecx
cmp ecx, eax
jb 0x426170
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x20]
cmp esi, edi
je 0x426375
cmp dword [esi + 4], 0
je 0x4263c0
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [esi + 4], eax
je 0x4263e1
push 0
push dword [esi + 4]
push dword [esi]
call fcn.0044f061
add esp, 0xc
test eax, eax
jne 0x4263da
mov dword [esi], eax
mov dword [esi + 4], eax
add esi, 8
cmp esi, edi
jne 0x426342
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00426640
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x64]
test ecx, ecx
cmovne edx, ecx
mov dword [ebp - 0x14], edx
mov esi, edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.0042aa70
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00462b2c
mov esp, ebp
pop ebp
ret 4
push 1
call fcn.0044f674
call fcn.0046d3e4
push 6
mov dword [ebp - 0x68], 0
call fcn.0044f674
push 2
call fcn.0044f674
push 5
call fcn.0044f674
int3