Function at 0x4fa470
Capabilities:
Execute anti-debugging instructions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x7411ab
push eax
mov dword fs:[0], esp
sub esp, 0x268
mov eax, dword [0x844c70]
mov al, byte [eax + 0x164ea8]
nop
test al, al
jne 0x4fba54
cmp dword [0x90de28], 0
je 0x4fa54a
mov byte [ebp - 0x11], al
call fcn.0050fd60
mov ecx, eax
call fcn.006ff290
movss xmm1, dword [0xa8ae38]
xorps xmm2, xmm2
movzx eax, byte [ebp - 0x11]
mov ecx, 1
cvtsd2ss xmm2, xmm0
movd xmm0, dword [0x844bc0]
mulss xmm2, dword [0x765bb0]
cvtdq2ps xmm0, xmm0
subss xmm1, xmm2
movss dword [0xa8ae38], xmm2
comiss xmm1, xmm0
cmova eax, ecx
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x34]
push eax
call fcn.00520050
movd xmm0, dword [0x90de28]
add esp, 4
movsd xmm1, qword [ebp - 0x34]
subsd xmm1, qword [0xa8ae30]
cvtdq2pd xmm0, xmm0
comisd xmm1, xmm0
ja 0x4fa52f
cmp byte [ebp - 0x38], 0
je 0x4fa54a
call fcn.004fd8c0
call fcn.004fdac0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [0xa8ae30], eax
mov dword [0xa8ae34], ecx
call fcn.004fd110
push eax
mov dword [ebp - 0xac], eax
call fcn.006eb0ee
add esp, 4
test eax, eax
jne 0x4fba62
push edi
mov edi, dword [0x844c70]
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], edi
cmp dword [edi + 0x8c], eax
je 0x4fa5ee
mov ecx, dword [edi + 0x88]
test ecx, ecx
sete al
mov dword [edi + 0x88], eax
test ecx, ecx
je 0x4fa59e
rdtsc
mov dword [edi + 0x2a8], eax
mov dword [edi + 0x2ac], edx
mov dword [edi + 0x8c], 0
lea eax, [edi + 0x89ba4]
mov edx, 0x80
mov ecx, dword [eax]
test ecx, ecx
je 0x4fa5c3
mov dword [ecx + 0x1b0], 0
add eax, 4
sub edx, 1
jne 0x4fa5b3
cmp dword [edi + 0x88], edx
je 0x4fa5ee
imul eax, dword [edi + 0x89db0], 0x268
mov byte [eax + edi + 0x8a020], 1
mov edi, dword [0x844c70]
mov dword [ebp - 0x10], edi
cmp dword [edi + 0xc], 0
jne 0x4fa604
cmp dword [edi + 0x98], 0
mov dword [ebp - 0x44], 0
je 0x4fa60b
mov dword [ebp - 0x44], 1
cmp dword [edi + 0x94], 0
mov dword [ebp - 0x38], 0
je 0x4fa63d
call fcn.004f9e60
mov edi, dword [0x844c70]
mov dword [ebp - 0x10], edi
mov dword [edi + 0x94], 0
mov dword [edi + 0x9c], 6
mov eax, dword [edi + 0x98]
test eax, eax
je 0x4fa65c
dec eax
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x38], 1
mov dword [edi + 0x98], eax
cmp dword [edi + 0x88], 0
push esi
jne 0x4fa670
cmp dword [edi + 0x3c], 0
je 0x4fb47d
imul esi, dword [edi + 0x89db0], 0x268
call fcn.00524e00
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, eax
call fcn.00524b50
movups xmm0, xmmword [eax]
movups xmmword [esi + edi + 0x89ff8], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esi + edi + 0x8a008], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [esi + edi + 0x8a018], xmm0
call fcn.00524e00
mov ecx, eax
call fcn.00524c10
mov edx, dword [0x844c70]
add dword [edx + 0x89db8], 1
mov ecx, dword [edx + 0x89db0]
adc dword [edx + 0x89dbc], 0
inc ecx
inc dword [edx + 0x89dac]
and ecx, 0x1ff
mov dword [edx + 0x89db0], ecx
lea eax, [ecx - 4]
and eax, 0x1ff
mov dword [edx + 0x89da8], eax
inc eax
and eax, 0x1ff
mov dword [ebp - 0x18], eax
imul eax, ecx, 0x268
mov byte [eax + edx + 0x8a020], 0
mov edi, dword [0x844c70]
mov edx, dword [edi + 0xd6e20]
mov ecx, edx
mov eax, dword [edi + 0xd6df8]
sub ecx, eax
cmp eax, edx
jae 0x4fa732
mov dword [edi + 0xd6df4], ecx
jmp 0x4fa73b
lea eax, [ecx + 1]
mov dword [edi + 0xd6df4], eax
imul eax, dword [edi + 0x89da8], 0x268
lea ecx, [edi + 0x89dc0]
imul esi, dword [edi + 0x89db0], 0x268
mov dword [edi + 0xd6df8], edx
add ecx, eax
imul eax, dword [ebp - 0x18], 0x268
add esi, edi
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x54], esi
add eax, 0x89dc0
add eax, edi
mov dword [ebp - 0x84], eax
rdtsc
mov dword [esi + 0x89dd8], eax
mov dword [esi + 0x89ddc], edx
mov eax, dword [edi + 0x164e88]
mov dword [esi + 0x89de8], eax
mov dword [esi + 0x89fec], 0
mov dword [esi + 0x89ff4], 0
mov dword [esi + 0x89ff0], 0
mov ecx, dword [ecx + 0x28]
cmp ecx, 0xffffffff
je 0x4fa7fc
mov eax, dword [edi + 0x164e9c]
test eax, eax
je 0x4fa7d8
push ecx
call eax
mov edi, dword [0x844c70]
mov ecx, eax
and ecx, edx
add esp, 4
cmp ecx, 0xffffffff
jne 0x4fa7ef
xorps xmm0, xmm0
movlpd qword [ebp - 0x8c], xmm0
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x70]
mov dword [ecx + 0x20], eax
mov eax, ecx
mov dword [eax + 0x24], edx
jmp 0x4fa7ff
mov eax, dword [ebp - 0x70]
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x18]
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x6c], edx
mov eax, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
mov dword [ebp - 0x58], eax
sub eax, ecx
mov ecx, esi
mov dword [ebp - 0x2c], esi
mov esi, dword [edi + 0xd6dd4]
sbb ecx, edx
add dword [edi + 0xd6dc8], eax
mov edx, dword [edi + 0xd6dd0]
adc dword [edi + 0xd6dcc], ecx
cmp esi, ecx
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x54]
mov dword [edi + 0xd6dc0], eax
mov dword [edi + 0xd6dc4], ecx
jb 0x4fa85c
ja 0x4fa857
cmp edx, eax
jbe 0x4fa85c
mov eax, dword [ebp - 0x18]
jmp 0x4fa860
mov edx, eax
mov eax, ecx
mov dword [edi + 0xd6dd4], eax
lea ecx, [esi + 0x89dec]
lea eax, [edi + 0x19878]
mov dword [edi + 0xd6dd0], edx
mov dword [ebp - 0x68], eax
mov edx, 0x80
mov eax, 0xfffffdb8
mov dword [ebp - 0x1c], edx
sub eax, esi
mov dword [ebp - 0x18], eax
nop dword [eax]
add eax, ecx
mov eax, dword [eax + edi]
test eax, eax
jne 0x4fa89d
mov dword [ecx], eax
jmp 0x4fa8bd
cmp dword [eax + 0x20], 0
je 0x4fa8ab
mov edx, dword [edi + 0x164e8c]
jmp 0x4fa8b5
mov edx, dword [eax + 4]
nop
mov edi, dword [0x844c70]
mov dword [ecx], edx
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
add ecx, 4
sub edx, 1
mov dword [ebp - 0x1c], edx
jne 0x4fa890
cmp dword [edi + 0x88], 0
mov dword [ebp - 0x10], edi
je 0x4fb47d
push dword [0xa8adec]
add edi, 0x37c78
lea ecx, [ebp - 0x9c]
push dword [0xa8ade8]
mov dword [ebp - 0x18], edi
call fcn.004f0560
mov eax, dword [0x844c70]
xor esi, esi
cmp dword [eax], esi
jbe 0x4fa940
lea edx, [eax + 0x29c78]
lea ecx, [eax + 0x25c80]
mov dword [ecx - 8], 0
lea edx, [edx + 8]
mov dword [ecx - 4], 0
lea ecx, [ecx + 0x10]
mov dword [ecx - 0x10], 0
inc esi
mov dword [edx - 8], 0
mov dword [edx - 4], 0
cmp esi, dword [eax]
jb 0x4fa912
mov dword [edi], 0
mov esi, edi
mov dword [edi + 4], 0
mov ecx, 0x5e
add edi, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [0x844c70]
xor ecx, ecx
lea edx, [esi + 0x383f8]
cmp dword [edx + 0xa028], 0
je 0x4fa9a4
mov eax, 0x100
shl eax, cl
test dword [esi + 0x38], eax
je 0x4fa9a4
xor eax, eax
cmp dword [esi], eax
jbe 0x4fa9a4
nop dword [eax]
nop word [eax + eax]
mov dword [edx + eax*8], 0
mov dword [edx + eax*8 + 4], 0
inc eax
cmp eax, dword [esi]
jb 0x4fa990
inc ecx
add edx, 0xa030
cmp ecx, 8
jb 0x4fa967
lea ecx, [ebp - 0x9c]
call fcn.004f0620
mov edi, dword [0x844c70]
mov dword [ebp - 0x10], edi
mov eax, dword [edi + 0x30]
or eax, dword [edi + 0x34]
jne 0x4fa9d5
cmp dword [edi + 0x68], eax
je 0x4fb0c1
cmp byte [0xa902b2], 0
je 0x4faa05
cmp byte [0x84517c], 0
je 0x4faa05
cmp byte [0x844c28], 0
je 0x4faa05
cmp byte [0x8f0550], 0
je 0x4faa05
call fcn.005102e0
mov ecx, eax
call fcn.00510240
push dword [0xa8ada4]
lea ecx, [ebp - 0xbc]
push dword [0xa8ada0]
call fcn.004f0560
mov eax, dword [0xa8ae40]
or eax, dword [0xa8ae44]
mov byte [ebp - 4], 1
jne 0x4faa4a
push str.Perform
push str.Render
call fcn.004fa3a0
add esp, 8
mov dword [0xa8ae40], eax
mov dword [0xa8ae44], edx
mov ecx, dword [0xa8ae48]
or ecx, dword [0xa8ae4c]
jne 0x4faa75
push str.waitOnGpu
push str.Render
call fcn.004fa3a0
add esp, 8
mov dword [0xa8ae48], eax
mov dword [0xa8ae4c], edx
cmp word [0x844c78], 0x30
jb 0x4faa94
push 0
push str.Jobs
call fcn.004fc720
add esp, 8
mov word [0x844c78], ax
mov eax, dword [ebp - 0x70]
xorps xmm0, xmm0
sub dword [ebp - 0x84], eax
mov ecx, 0x89b78
mov edi, dword [0x844c70]
sub ecx, eax
movlpd qword [ebp - 0x8c], xmm0
lea esi, [eax + 0x2c]
movlpd qword [ebp - 0x64], xmm0
mov eax, dword [ebp - 0x88]
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xa0], edx
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x54], 0x80
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
nop
mov eax, dword [ebp - 0xa4]
add eax, esi
mov esi, dword [eax + edi]
mov dword [ebp - 0x3c], esi
test esi, esi
je 0x4fadf2
push 0x180
lea eax, [ebp - 0x274]
push 0
push eax
call fcn.007012e0
mov eax, dword [ebp - 0x80]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x84]
add esp, 0xc
movups xmmword [ebp - 0x9c], xmm0
movss xmm0, dword [0x76463c]
mov edi, dword [ecx + eax]
mov eax, dword [esi + 0x528]
sub eax, 0
je 0x4fab73
sub eax, 1
je 0x4fab69
sub eax, 2
jne 0x4fab7b
movss xmm0, dword [0x78ab94]
jmp 0x4fab7b
movss xmm0, dword [0x78ab90]
jmp 0x4fab7b
movss xmm0, dword [0x78ab8c]
mulss xmm0, dword [0x78ab98]
call fcn.006feff0
mov edx, dword [ebp - 0x80]
mov ecx, eax
mov eax, dword [edx]
cmp edi, eax
jbe 0x4faba5
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x90], 0
jmp 0x4fabb3
je 0x4fabc3
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x9c], eax
cmp dword [esi + 0x20], 0
je 0x4fac88
mov ecx, dword [ebp - 0x70]
mov edi, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x20], eax
nop dword [eax]
nop dword [eax + eax]
mov esi, dword [ebp + eax*8 - 0x9c]
cmp esi, dword [ebp + eax*8 - 0x98]
jae 0x4fac78
mov edx, dword [edi]
mov eax, dword [edx + esi*8 + 4]
mov ecx, dword [edx + esi*8]
mov dword [ebp - 0x40], eax
shr eax, 0x1d
mov dword [ebp - 0x48], ecx
cmp eax, 1
je 0x4fac1b
test eax, eax
jne 0x4fac6b
mov eax, dword [0x844c70]
mov eax, dword [eax + 0x164e9c]
test eax, eax
je 0x4fac50
cmp ecx, 0xffffffff
je 0x4fac50
push ecx
call eax
mov dword [ebp - 0x60], edx
mov ecx, eax
and ecx, dword [ebp - 0x60]
add esp, 4
mov edx, dword [edi]
cmp ecx, 0xffffffff
mov ecx, dword [ebp - 0x48]
je 0x4fac50
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x40]
xor eax, dword [ebp - 0x24]
xor ecx, dword [ebp - 0x5c]
and eax, 0xffff
xor ecx, dword [ebp - 0x48]
xor eax, dword [ebp - 0x40]
mov dword [edx + esi*8], ecx
mov dword [edx + esi*8 + 4], eax
mov eax, dword [ebp - 0x20]
inc esi
cmp esi, dword [ebp + eax*8 - 0x98]
jb 0x4fac00
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 2
jb 0x4fabf0
mov esi, dword [ebp - 0x3c]
mov edx, dword [esi + 0x1b0]
xor eax, eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x60], eax
nop dword [eax]
mov ecx, dword [ebp + eax*8 - 0x9c]
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp + eax*8 - 0x98]
jae 0x4fad9e
mov eax, ecx
nop dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0x20], ecx
mov eax, dword [ecx + eax*8]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x10]
mov edi, dword [ecx + eax*8 + 4]
mov eax, edi
shr eax, 0x1d
cmp eax, 1
jne 0x4fad22
mov eax, dword [ebp - 0x68]
shr edi, 0x10
and edi, 0x1fff
mov al, byte [edi + eax]
cmp edx, 0x20
jae 0x4fad1d
movzx eax, al
inc byte [eax + esi + 0x1b4]
mov eax, dword [ebp - 0x10]
mov dword [esi + edx*4 + 0x2c], eax
inc edx
mov dword [ebp - 0x28], edx
mov dword [esi + edx*8 + 0xb0], 0
mov dword [esi + edx*8 + 0xb4], 0
jmp 0x4fad88
inc dword [ebp - 0x48]
jmp 0x4fad85
cmp eax, 2
jne 0x4fae43
test edx, edx
je 0x4fad85
movzx esi, di
mov ecx, edi
mov edi, dword [ebp - 0x3c]
shr ecx, 0x10
and ecx, 0x1fff
mov dword [ebp - 0x30], 0
imul ecx, ecx, 0x1406
mov eax, dword [edi + edx*4 + 0x28]
mov edx, dword [edi]
mov ax, word [edx + eax*8 + 6]
mov edx, 0x1fff
and ax, dx
movzx eax, ax
cdq
add ecx, eax
mov dword [ebp - 0x30], edx
mov edx, dword [0x844c70]
mov eax, dword [ebp - 0x40]
add dword [edx + ecx*8 + 0x383f8], eax
adc dword [edx + ecx*8 + 0x383fc], esi
mov esi, edi
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp + ecx*8 - 0x98]
jb 0x4facc0
mov eax, ecx
inc eax
mov dword [ebp - 0x60], eax
cmp eax, 2
jb 0x4faca0
mov edi, dword [ebp - 0x18]
lea edx, [esi + 0x1e8]
lea esi, [ebp - 0x274]
mov dword [ebp - 0x60], 0x30
sub esi, edi
mov eax, dword [esi + edi]
add dword [edx], eax
mov ecx, dword [esi + edi + 4]
adc dword [edx + 4], ecx
lea edx, [edx + 8]
add dword [edi], eax
adc dword [edi + 4], ecx
lea edi, [edi + 8]
sub dword [ebp - 0x60], 1
jne 0x4fadc3
mov esi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x28]
mov edi, dword [0x844c70]
mov dword [esi + 0x1b0], edx
mov esi, dword [ebp - 0x80]
add esi, 4
sub dword [ebp - 0x54], 1
mov dword [ebp - 0x80], esi
jne 0x4fab00
mov eax, dword [ebp - 0x6c]
imul esi, dword [edi + 0x89da8], 0x268
mov ecx, dword [ebp - 0x2c]
movzx eax, ax
movzx ecx, cx
cmp eax, dword [ebp - 0x50]
jb 0x4fb017
ja 0x4fae38
mov edx, dword [ebp - 0x7c]
mov edi, dword [0x844c70]
cmp dword [ebp - 0x4c], edx
jbe 0x4fb01a
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
jmp 0x4fb01a
test eax, eax
jne 0x4fad85
cmp edx, 0x20
jb 0x4fae61
cmp dword [ebp - 0x48], eax
jne 0x4fae61
mov dword [ebp - 0x48], 0xffffffff
jmp 0x4fad85
mov esi, dword [ebp - 0x68]
mov eax, edi
shr eax, 0x10
and eax, 0x1fff
mov dword [ebp - 0x5c], eax
mov al, byte [eax + esi]
mov esi, dword [ebp - 0x3c]
mov byte [ebp - 0x11], al
test edx, edx
je 0x4fad85
mov eax, dword [esi + edx*4 + 0x28]
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x20], edi
mov ecx, dword [ecx + eax*8]
mov eax, dword [esi + eax*8 + 4]
mov esi, dword [ebp - 0x40]
shld dword [ebp - 0x20], esi, 0x10
shld eax, ecx, 0x10
shl esi, 0x10
shl ecx, 0x10
sub esi, ecx
mov ecx, dword [ebp - 0x20]
sbb ecx, eax
mov eax, dword [ebp - 0x28]
shrd esi, ecx, 0x10
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x3c]
sar ecx, 0x10
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [esi + edx*8 + 0xb0]
mov esi, dword [esi + eax*8 + 0xb4]
dec eax
mov dword [ebp - 0x30], esi
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
add dword [ecx + eax*8 + 0xb0], esi
mov esi, dword [ebp - 0x20]
adc dword [ecx + eax*8 + 0xb4], esi
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x24]
shl eax, 4
mov dword [ebp - 0x88], edx
mov edx, dword [0x844c70]
add dword [eax + edx + 0x25c78], ecx
adc dword [eax + edx + 0x25c7c], esi
mov eax, esi
mov esi, dword [0x844c70]
sub ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x5c]
sbb eax, dword [ebp - 0x30]
add dword [esi + edx*8 + 0x29c78], ecx
adc dword [esi + edx*8 + 0x29c7c], eax
lea eax, [edx + 0x25c8]
add eax, eax
inc dword [esi + eax*8]
movzx eax, byte [ebp - 0x11]
mov esi, dword [ebp - 0x3c]
mov cl, byte [eax + esi + 0x1b4]
test cl, cl
je 0x4faf70
add cl, 0xff
jne 0x4faf69
mov edx, dword [ebp - 0x24]
add dword [ebp + eax*8 - 0x274], edx
mov edx, dword [ebp - 0x20]
adc dword [ebp + eax*8 - 0x270], edx
mov edx, dword [ebp - 0x5c]
mov byte [eax + esi + 0x1b4], cl
cmp dword [ebp - 0x20], 0
jl 0x4fad82
jg 0x4faf86
cmp dword [ebp - 0x24], 0
jbe 0x4fad82
cmp dword [esi + 0x20], 0
jne 0x4fad82
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x4c], eax
jne 0x4fafa4
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x6c], eax
je 0x4fad82
movzx eax, byte [ebp - 0x11]
movzx ecx, di
mov edi, dword [ebp - 0x40]
cmp ax, word [0x844c78]
jne 0x4fafc9
cmp dword [ebp - 0x74], ecx
ja 0x4fafc9
jb 0x4fafc3
cmp dword [ebp - 0x78], edi
ja 0x4fafc9
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], ecx
mov eax, dword [0xa8ae40]
movzx eax, ax
cmp edx, eax
jne 0x4fafe7
cmp dword [ebp - 0x50], ecx
ja 0x4fafe7
jb 0x4fafe1
cmp dword [ebp - 0x7c], edi
ja 0x4fafe7
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x50], ecx
mov eax, dword [0xa8ae48]
movzx eax, ax
cmp edx, eax
mov edx, dword [ebp - 0x28]
jne 0x4fad85
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xa0]
adc eax, dword [ebp - 0x20]
mov dword [ebp - 0xa0], eax
jmp 0x4fad85
mov edx, dword [ebp - 0x7c]
cmp ecx, dword [ebp - 0x50]
ja 0x4fb032
jb 0x4fb02c
mov edi, dword [0x844c70]
cmp dword [ebp - 0x58], edx
jae 0x4fb032
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x50], ecx
cmp eax, dword [ebp - 0x74]
jb 0x4fb047
ja 0x4fb050
mov edi, dword [ebp - 0x4c]
cmp edi, dword [ebp - 0x78]
mov edi, dword [0x844c70]
ja 0x4fb050
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x74]
cmp ecx, eax
ja 0x4fb064
jb 0x4fb06c
mov edi, dword [ebp - 0x58]
cmp edi, dword [ebp - 0x4c]
mov edi, dword [0x844c70]
jb 0x4fb06c
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x58], ecx
mov ecx, eax
mov eax, dword [ebp - 0x58]
mov dword [esi + edi + 0x89dc8], eax
mov eax, dword [ebp - 0x50]
mov dword [esi + edi + 0x89dcc], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [esi + edi + 0x89dd0], edx
mov edx, dword [ebp - 0xa0]
mov dword [esi + edi + 0x89dd4], eax
call fcn.006ff290
cvtsd2ss xmm0, xmm0
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0
movss dword [esi + edi + 0x89dc4], xmm0
call fcn.004f0620
mov edi, dword [0x844c70]
mov dword [ebp - 0x10], edi
mov eax, dword [edi + 0x9c]
test eax, eax
je 0x4fb0d7
dec eax
mov dword [edi + 0x9c], eax
jmp 0x4fb334
push dword [0xa8ae14]
lea ecx, [ebp - 0xcc]
push dword [0xa8ae10]
call fcn.004f0560
mov esi, dword [0x844c70]
mov dword [ebp - 0x2c], 0
cmp dword [esi], 0
jbe 0x4fb1e7
lea ecx, [esi + 0x1fc78]
lea edx, [esi + 0x19c78]
mov edi, dword [edx + 0xc000]
add dword [edx], edi
mov eax, dword [edx + 0xc004]
adc dword [edx + 4], eax
mov eax, dword [edx + 0xc008]
add dword [edx + 8], eax
mov esi, dword [ecx - 0x1ffc]
mov eax, dword [ecx - 0x2000]
cmp esi, dword [edx + 0xc004]
jb 0x4fb144
ja 0x4fb14c
cmp eax, edi
ja 0x4fb14c
mov esi, dword [edx + 0xc004]
mov eax, edi
mov dword [ecx - 0x1ffc], esi
mov esi, dword [ecx + 4]
mov dword [ecx - 0x2000], eax
mov edi, dword [edx + 0xc000]
mov eax, dword [ecx]
cmp esi, dword [edx + 0xc004]
ja 0x4fb171
jb 0x4fb179
cmp eax, edi
jb 0x4fb179
mov esi, dword [edx + 0xc004]
mov eax, edi
mov edi, dword [ecx + 0xa000]
add dword [ecx + 0x2000], edi
mov dword [ecx], eax
mov eax, dword [ecx + 0xa004]
adc dword [ecx + 0x2004], eax
mov eax, dword [ecx + 0x4000]
mov dword [ecx + 4], esi
mov esi, dword [ecx + 0x4004]
cmp esi, dword [ecx + 0xa004]
mov dword [ebp - 0x30], esi
mov esi, dword [0x844c70]
jb 0x4fb1be
ja 0x4fb1b9
cmp eax, edi
jbe 0x4fb1be
mov edi, dword [ebp - 0x30]
jmp 0x4fb1c6
mov eax, edi
mov edi, dword [ecx + 0xa004]
mov dword [ecx + 0x4000], eax
add edx, 0x10
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 0x4004], edi
inc eax
add ecx, 8
mov dword [ebp - 0x2c], eax
cmp eax, dword [esi]
jb 0x4fb110
lea ecx, [esi + 0x37f78]
xor edx, edx
mov esi, dword [ebp - 0x18]
mov eax, dword [esi + edx*8]
add dword [ecx - 0x180], eax
mov eax, dword [esi + edx*8 + 4]
adc dword [ecx - 0x17c], eax
mov edi, dword [ecx + 4]
mov eax, dword [ecx]
cmp edi, dword [esi + edx*8 + 4]
jb 0x4fb217
ja 0x4fb21e
cmp eax, dword [esi + edx*8]
ja 0x4fb21e
mov eax, dword [esi + edx*8]
mov edi, dword [esi + edx*8 + 4]
mov dword [ecx], eax
inc edx
mov dword [ecx + 4], edi
add ecx, 8
cmp edx, 0x30
jb 0x4fb1f2
mov esi, dword [0x844c70]
xor ecx, ecx
mov dword [ebp - 0x54], ecx
lea edx, [esi + 0x42408]
mov dword [ebp - 0x68], edx
cmp dword [edx + 0x18], 0
je 0x4fb30a
mov eax, 0x100
shl eax, cl
test dword [esi + 0x38], eax
je 0x4fb30a
cmp dword [esi], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x6c], 0
jbe 0x4fb2e0
mov dword [ebp - 0x2c], ecx
lea eax, [edx - 0x8010]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x18], ecx
mov edx, dword [eax - 0x1ffc]
mov edi, dword [eax + 0x2004]
mov ecx, dword [eax - 0x2000]
mov esi, dword [eax + 0x2000]
cmp edi, edx
jb 0x4fb2a2
ja 0x4fb2a6
cmp esi, ecx
ja 0x4fb2a6
mov esi, ecx
mov edi, edx
add dword [eax], ecx
mov dword [eax + 0x2000], esi
adc dword [eax + 4], edx
mov esi, dword [ebp - 0x18]
add esi, ecx
mov dword [eax + 0x2004], edi
mov ecx, dword [ebp - 0x2c]
mov edi, dword [0x844c70]
adc ecx, edx
mov edx, dword [ebp - 0x6c]
add eax, 8
inc edx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x6c], edx
cmp edx, dword [edi]
jb 0x4fb280
mov edx, dword [ebp - 0x68]
jmp 0x4fb2e3
mov esi, dword [ebp - 0x34]
add dword [edx - 8], esi
mov edi, dword [edx + 4]
adc dword [edx - 4], ecx
mov eax, dword [edx]
cmp edi, ecx
jb 0x4fb2f8
ja 0x4fb2fc
cmp eax, esi
ja 0x4fb2fc
mov eax, esi
mov edi, ecx
mov esi, dword [0x844c70]
mov ecx, dword [ebp - 0x54]
mov dword [edx], eax
mov dword [edx + 4], edi
inc ecx
add edx, 0xa030
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x68], edx
cmp ecx, 8
jb 0x4fb240
lea ecx, [ebp - 0xcc]
call fcn.004f0620
mov edi, dword [0x844c70]
mov dword [ebp - 0x10], edi
mov edx, dword [edi + 0x88978]
cmp edx, 0xffffffff
je 0x4fb36c
mov eax, dword [edi + 0x899a0]
add edx, edx
mov ecx, dword [edi + edx*8 + 0x25c78]
mov edx, dword [edi + edx*8 + 0x25c7c]
mov dword [edi + eax*8 + 0x88578], ecx
mov dword [edi + eax*8 + 0x8857c], edx
mov edi, dword [0x844c70]
mov dword [ebp - 0x10], edi
mov edx, dword [edi + 0x88d80]
cmp edx, 0xffffffff
je 0x4fb3a4
mov eax, dword [edi + 0x899a0]
add edx, edx
mov ecx, dword [edi + edx*8 + 0x25c78]
mov edx, dword [edi + edx*8 + 0x25c7c]
mov dword [edi + eax*8 + 0x88980], ecx
mov dword [edi + eax*8 + 0x88984], edx
mov edi, dword [0x844c70]
mov dword [ebp - 0x10], edi
mov edx, dword [edi + 0x89188]
cmp edx, 0xffffffff
je 0x4fb3dc
mov eax, dword [edi + 0x899a0]
add edx, edx
mov ecx, dword [edi + edx*8 + 0x25c78]
mov edx, dword [edi + edx*8 + 0x25c7c]
mov dword [edi + eax*8 + 0x88d88], ecx
mov dword [edi + eax*8 + 0x88d8c], edx
mov edi, dword [0x844c70]
mov dword [ebp - 0x10], edi
mov edx, dword [edi + 0x89590]
cmp edx, 0xffffffff
je 0x4fb414
mov eax, dword [edi + 0x899a0]
add edx, edx
mov ecx, dword [edi + edx*8 + 0x25c78]
mov edx, dword [edi + edx*8 + 0x25c7c]
mov dword [edi + eax*8 + 0x89190], ecx
mov dword [edi + eax*8 + 0x89194], edx
mov edi, dword [0x844c70]
mov dword [ebp - 0x10], edi
mov edx, dword [edi + 0x89998]
cmp edx, 0xffffffff
je 0x4fb44c
mov eax, dword [edi + 0x899a0]
add edx, edx
mov ecx, dword [edi + edx*8 + 0x25c78]
mov edx, dword [edi + edx*8 + 0x25c7c]
mov dword [edi + eax*8 + 0x89598], ecx
mov dword [edi + eax*8 + 0x8959c], edx
mov edi, dword [0x844c70]
mov dword [ebp - 0x10], edi
mov eax, dword [edi + 0x899a0]
inc eax
and eax, 0x7f
mov dword [edi + 0x899a0], eax
cmp dword [edi + 0x88], 0
je 0x4fb47d
inc dword [edi + 0x14]
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 0x14]
ja 0x4fb47d
test eax, eax
je 0x4fb487
mov dword [ebp - 0x44], 1
jmp 0x4fb487
cmp dword [ebp - 0x38], 0
je 0x4fb89a
mov eax, dword [edi]
lea ecx, [edi + 0x19c78]
shl eax, 4
push eax
push ecx
lea eax, [edi + 0x2bc78]
push eax
call fcn.00700d60
mov eax, dword [edi]
lea ecx, [edi + 0x1dc78]
shl eax, 3
push eax
push ecx
lea eax, [edi + 0x2fc78]
push eax
call fcn.00700d60
mov eax, dword [edi]
lea ecx, [edi + 0x1fc78]
shl eax, 3
push eax
push ecx
lea eax, [edi + 0x31c78]
push eax
call fcn.00700d60
mov eax, dword [edi]
lea ecx, [edi + 0x21c78]
shl eax, 3
push eax
push ecx
lea eax, [edi + 0x33c78]
push eax
call fcn.00700d60
mov eax, dword [edi]
lea ecx, [edi + 0x23c78]
shl eax, 3
push eax
push ecx
lea eax, [edi + 0x35c78]
push eax
call fcn.00700d60
mov eax, dword [ebp - 0x10]
lea esi, [edi + 0x37df8]
add edi, 0x380f8
mov dword [ebp - 0x18], 0x80
mov ecx, 0x60
add esp, 0x3c
rep movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x37f78]
mov ecx, 0x60
lea edi, [eax + 0x38278]
add eax, 0x89ba4
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x38], eax
nop
mov edi, dword [eax]
test edi, edi
je 0x4fb574
lea edx, [edi + 0x1e8]
mov ecx, 0x60
add edi, 0x368
mov esi, edx
cmp dword [ebp - 0x44], 0
rep movsd dword es:[edi], dword [esi]
je 0x4fb574
push 0x180
push 0
push edx
call fcn.007012e0
mov eax, dword [ebp - 0x38]
add esp, 0xc
add eax, 4
sub dword [ebp - 0x18], 1
mov dword [ebp - 0x38], eax
jne 0x4fb540
mov edi, dword [ebp - 0x10]
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
invalid
mov bh, 0xf8