Function at 0x4072a0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45ae6b
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2a0
mov eax, dword [0x476050]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x1f0], edi
lea esi, [edi + 0x1c]
mov dword [ebp - 0x1a4], 0
push esi
lea ecx, [ebp - 0x160]
call fcn.004020e0
mov dword [ebp - 4], 0
lea edx, [ebp - 0x19c]
mov dword [ebp - 0x19c], 0x70747468
lea ecx, [edx + 1]
mov dword [ebp - 0x198], 0x2f2f3a
mov al, byte [edx]
inc edx
test al, al
jne 0x407326
sub edx, ecx
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x407339
mov ecx, dword [esi]
mov esi, dword [esi + 0x10]
lea eax, [ebp - 0x19c]
push edx
push eax
push 0
mov edx, esi
call fcn.0040b7c0
add esp, 0xc
cmp eax, 0xffffffff
je 0x40745f
mov dword [ebp - 0x19c], 0x70747468
mov dword [ebp - 0x198], 0x2f2f3a
lea edx, [ebp - 0x19c]
mov byte [ebp - 4], 1
lea ecx, [edx + 1]
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x407380
sub edx, ecx
cmp dword [edi + 0x30], 0x10
lea ecx, [edi + 0x1c]
jb 0x407395
mov ecx, dword [edi + 0x1c]
push edx
lea eax, [ebp - 0x19c]
mov edx, esi
push eax
push 0
call fcn.0040b7c0
add esp, 0xc
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
lea ecx, [eax + 7]
cmp esi, ecx
jb 0x40923e
sub esi, ecx
lea edx, [edi + 0x1c]
or eax, 0xffffffff
cmp esi, 0xffffffff
cmovb eax, esi
cmp dword [edi + 0x30], 0x10
jb 0x4073e9
mov edx, dword [edi + 0x1c]
push eax
lea eax, [edx + ecx]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.004019b0
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x1a4], 4
cmp edx, 0x10
jb 0x40743d
mov ecx, dword [ebp - 0x160]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407433
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40925c
push edx
push ecx
call fcn.00433bdf
add esp, 8
movups xmm0, xmmword [ebp - 0x1e4]
movups xmmword [ebp - 0x160], xmm0
movq xmm0, qword [ebp - 0x1d4]
movq qword [ebp - 0x150], xmm0
mov byte [ebp - 4], 0
cmp dword [ebp - 0x14c], 0x10
lea ecx, [ebp - 0x160]
mov esi, dword [ebp - 0x150]
mov edx, esi
cmovae ecx, dword [ebp - 0x160]
setae byte [ebp - 0x185]
push 1
push 0x46d5a8
push 0
call fcn.0040b7c0
mov edx, eax
mov dword [ebp - 0x1e4], 0
add esp, 0xc
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
cmp esi, edx
jb 0x409243
sub esi, edx
lea eax, [ebp - 0x160]
or ecx, 0xffffffff
cmp esi, 0xffffffff
cmovb ecx, esi
cmp byte [ebp - 0x185], 0
push ecx
cmovne eax, dword [ebp - 0x160]
lea ecx, [ebp - 0x1e4]
add eax, edx
push eax
call fcn.004019b0
or dword [ebp - 0x1a4], 8
lea esi, [edi + 0x4c]
lea eax, [ebp - 0x1e4]
cmp esi, eax
je 0x407569
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x407536
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x40752c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40925c
mov eax, edx
push ecx
push eax
call fcn.00433bdf
add esp, 8
movups xmm0, xmmword [ebp - 0x1e4]
mov dword [esi + 0x10], 0
mov edx, 0xf
mov dword [esi + 0x14], 0xf
movups xmmword [esi], xmm0
mov byte [ebp - 0x1e4], 0
movq xmm0, qword [ebp - 0x1d4]
movq qword [esi + 0x10], xmm0
jmp 0x40756f
mov edx, dword [ebp - 0x1d0]
cmp edx, 0x10
jb 0x4075a3
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407599
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40925c
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov ecx, dword [ebp - 0x190]
lea eax, [ebp - 0x160]
cmp dword [ebp - 0x150], ecx
mov dword [ebp - 0x1e4], 0
cmovb ecx, dword [ebp - 0x150]
cmp dword [ebp - 0x14c], 0x10
push ecx
cmovae eax, dword [ebp - 0x160]
lea ecx, [ebp - 0x1e4]
push eax
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
call fcn.004019b0
lea esi, [edi + 0x34]
lea eax, [ebp - 0x1e4]
cmp esi, eax
je 0x407668
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x407635
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x40762b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40925c
mov eax, edx
push ecx
push eax
call fcn.00433bdf
add esp, 8
movups xmm0, xmmword [ebp - 0x1e4]
mov dword [esi + 0x10], 0
mov edx, 0xf
mov dword [esi + 0x14], 0xf
movups xmmword [esi], xmm0
mov byte [ebp - 0x1e4], 0
movq xmm0, qword [ebp - 0x1d4]
movq qword [esi + 0x10], xmm0
jmp 0x40766e
mov edx, dword [ebp - 0x1d0]
cmp edx, 0x10
jb 0x4076a2
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407698
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40925c
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov ecx, 0x53
xor edx, edx
nop dword [eax]
mov al, byte [edx + 0x46d5ac]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1a0], al
and ecx, 0x800000ff
jns 0x4076d0
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xb
jl 0x4076b0
mov byte [ebp - 0x195], 0
mov byte [ebp - 4], 2
mov eax, 0x7fffffff
mov ecx, dword [edi + 0x14]
sub eax, ecx
cmp eax, 1
jb 0x409248
cmp dword [edi + 0x18], 0x10
lea eax, [edi + 4]
jb 0x407700
mov eax, dword [edi + 4]
push 1
push 0x46d460
push ecx
push eax
push ecx
push dword [ebp - 0x1f0]
lea ecx, [ebp - 0x130]
call fcn.0040b940
lea eax, [edi + 0x1c]
mov byte [ebp - 4], 3
push eax
lea edx, [ebp - 0x130]
lea ecx, [ebp - 0x208]
call fcn.0040b260
add esp, 4
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 4
push ecx
mov ecx, eax
call fcn.00404dd0
or dword [ebp - 0x1a4], 0x70
lea esi, [edi + 0x80]
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x1e4]
movq qword [ebp - 0x1a0], xmm1
movq qword [ebp - 0x1d4], xmm1
movups xmmword [ebp - 0x218], xmm0
movups xmmword [ebp - 0x1e4], xmm0
cmp esi, eax
je 0x4077fd
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x4077d9
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x4077c0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40924d
mov eax, edx
push ecx
push eax
call fcn.00433bdf
movups xmm0, xmmword [ebp - 0x218]
add esp, 8
movq xmm1, qword [ebp - 0x1a0]
mov dword [esi + 0x10], 0
mov edx, 0xf
mov dword [esi + 0x14], 0xf
movups xmmword [esi], xmm0
mov byte [ebp - 0x1e4], 0
movq qword [esi + 0x10], xmm1
jmp 0x407803
mov edx, dword [ebp - 0x1d0]
cmp edx, 0x10
jb 0x407837
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40782d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40924d
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x1f4]
cmp edx, 0x10
jb 0x407875
mov ecx, dword [ebp - 0x208]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40786b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40924d
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
mov byte [ebp - 0x208], 0
cmp edx, 0x10
jb 0x4078ce
mov ecx, dword [ebp - 0x130]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4078c4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40924d
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov ecx, 0xd5
xor edx, edx
mov al, byte [edx + 0x46d5b8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1ec], al
and ecx, 0x800000ff
jns 0x4078f5
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x21
jl 0x4078d5
mov byte [ebp - 0x1cb], 0
sub esp, 0x18
mov byte [ebp - 4], 5
mov edx, esp
mov dword [ebp - 0x198], esp
lea ecx, [ebp - 0x1ec]
lea eax, [ecx + 1]
mov dword [ebp - 0x190], eax
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407934
sub ecx, dword [ebp - 0x190]
lea eax, [ebp - 0x1ec]
push ecx
push eax
mov ecx, edx
call fcn.004019b0
mov ecx, 0x33
xor edx, edx
mov al, byte [edx + str.p__BRVM]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1c8], al
and ecx, 0x800000ff
jns 0x407977
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x407957
mov byte [ebp - 0x1bc], 0
sub esp, 0x18
mov byte [ebp - 4], 7
mov edx, esp
lea ecx, [ebp - 0x1c8]
lea eax, [ecx + 1]
mov dword [ebp - 0x190], eax
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4079b0
sub ecx, dword [ebp - 0x190]
lea eax, [ebp - 0x1c8]
push ecx
push eax
mov ecx, edx
call fcn.004019b0
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.00409270
mov ecx, 0x22
xor edx, edx
nop
mov al, byte [edx + str.oLLJKI]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x2b0], al
and ecx, 0x800000ff
jns 0x407a00
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x6d
jl 0x4079e0
mov byte [ebp - 0x243], 0
sub esp, 0x18
mov byte [ebp - 4], 9
mov edx, esp
mov dword [ebp - 0x198], esp
lea ecx, [ebp - 0x2b0]
lea eax, [ecx + 1]
mov dword [ebp - 0x190], eax
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407a40
sub ecx, dword [ebp - 0x190]
lea eax, [ebp - 0x2b0]
push ecx
push eax
mov ecx, edx
call fcn.004019b0
mov dword [ebp - 0x1c8], 0x72657355
mov dword [ebp - 0x1c4], 0x6567412d
mov word [ebp - 0x1c0], 0x746e
mov byte [ebp - 0x1be], 0
sub esp, 0x18
mov byte [ebp - 4], 0xb
mov edx, esp
lea ecx, [ebp - 0x1c8]
lea eax, [ecx + 1]
mov dword [ebp - 0x190], eax
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407ab0
sub ecx, dword [ebp - 0x190]
lea eax, [ebp - 0x1c8]
push ecx
push eax
mov ecx, edx
call fcn.004019b0
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.00409270
sub esp, 0x18
mov byte [ebp - 4], 0
lea eax, [edi + 0x34]
mov dword [ebp - 0x198], esp
mov ecx, esp
push eax
call fcn.004020e0
mov dword [ebp - 0x1c0], 0x74736f48
mov byte [ebp - 0x1bc], 0
sub esp, 0x18
mov byte [ebp - 4], 0xe
mov edx, esp
lea ecx, [ebp - 0x1c0]
lea eax, [ecx + 1]
mov dword [ebp - 0x190], eax
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407b30
sub ecx, dword [ebp - 0x190]
lea eax, [ebp - 0x1c0]
push ecx
push eax
mov ecx, edx
call fcn.004019b0
mov ecx, edi
mov byte [ebp - 4], 0xf
call fcn.00409270
mov byte [ebp - 4], 0
lea edx, [ebp - 0x1b4]
lea ecx, [edi + 4]
mov dword [ebp - 0x1b4], 0x544547
call fcn.0040b310
test al, al
je 0x407d37
mov ecx, dword [edi + 0x74]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x70]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x407eed
push 1
lea ecx, [edi + 0x98]
push 0x46d660
call fcn.004019b0
xor ecx, ecx
mov eax, 0x2aaaaaab
mov dword [ebp - 0x1b4], ecx
mov ecx, dword [edi + 0x74]
sub ecx, dword [edi + 0x70]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x407eed
xor esi, esi
mov dword [ebp - 0x1a8], esi
nop word [eax + eax]
mov ecx, dword [edi + 0x70]
mov eax, 0x7fffffff
add ecx, esi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 1
jb 0x409248
cmp dword [ecx + 0x14], 0x10
jb 0x407c00
mov ecx, dword [ecx]
push 1
push 0x46d664
push edx
push ecx
push ecx
push dword [ebp - 0x1f0]
lea ecx, [ebp - 0x1e4]
call fcn.0040b940
or dword [ebp - 0x1a4], 0x80
mov byte [ebp - 4], 0x10
lea esi, [ebp - 0x1e4]
cmp dword [ebp - 0x1d0], 0x10
lea edx, [edi + 0x98]
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [edx + 0x10]
cmovae esi, eax
mov dword [ebp - 0x18c], eax
mov eax, dword [edx + 0x14]
sub eax, ecx
mov dword [ebp - 0x190], ecx
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x1c0], esi
cmp ecx, eax
ja 0x407ca3
cmp dword [edx + 0x14], 0x10
mov esi, dword [ebp - 0x190]
lea eax, [esi + ecx]
mov dword [edx + 0x10], eax
mov eax, edx
jb 0x407c7f
mov eax, dword [edx]
push ecx
push dword [ebp - 0x1c0]
add esi, eax
push esi
call fcn.00435440
mov eax, dword [ebp - 0x1d4]
add esp, 0xc
mov ecx, dword [ebp - 0x18c]
mov byte [eax + esi], 0
jmp 0x407cc0
push ecx
push esi
mov byte [ebp - 0x1ae], 0
push dword [ebp - 0x1ae]
push ecx
mov ecx, edx
call fcn.00405eb0
mov ecx, dword [ebp - 0x1e4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x10
jb 0x407cfa
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x407cf0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40925c
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov ecx, dword [edi + 0x74]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x70]
mov esi, dword [ebp - 0x1a8]
inc dword [ebp - 0x1b4]
add esi, 0x18
imul ecx
mov dword [ebp - 0x1a8], esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x1b4], eax
jb 0x407be0
jmp 0x407ee7
lea edx, [ebp - 0x19c]
mov dword [ebp - 0x19c], 0x54534f50
lea ecx, [edi + 4]
mov byte [ebp - 0x198], 0
call fcn.0040b310
test al, al
je 0x407eed
mov ecx, dword [edi + 0x74]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x70]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x407eed
xor ecx, ecx
lea edx, [edi + 0xb0]
xor esi, esi
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x1c0], esi
mov ecx, dword [edi + 0x70]
add ecx, esi
mov esi, ecx
mov dword [ebp - 0x18c], ecx
cmp dword [ecx + 0x14], 0x10
jb 0x407dac
mov esi, dword [ecx]
mov dword [ebp - 0x18c], esi
mov eax, dword [edx + 0x10]
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x1a8], eax
mov eax, dword [edx + 0x14]
sub eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1b0], ecx
cmp ecx, eax
ja 0x407dff
cmp dword [edx + 0x14], 0x10
mov esi, dword [ebp - 0x1a8]
lea eax, [esi + ecx]
mov dword [edx + 0x10], eax
mov eax, edx
jb 0x407de1
mov eax, dword [edx]
push ecx
push dword [ebp - 0x18c]
add esi, eax
push esi
call fcn.00435440
mov eax, dword [ebp - 0x1b0]
add esp, 0xc
mov byte [eax + esi], 0
jmp 0x407e16
push ecx
push esi
mov byte [ebp - 0x190], 0
push dword [ebp - 0x190]
push ecx
mov ecx, edx
call fcn.00405eb0
mov ecx, dword [edi + 0x74]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x70]
mov esi, dword [ebp - 0x1c0]
inc dword [ebp - 0x1b4]
add esi, 0x18
imul ecx
mov dword [ebp - 0x1c0], esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [edi + 0xb0]
cmp dword [ebp - 0x1b4], eax
jb 0x407d91
mov edx, dword [edi + 0xc0]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x198], esp
call fcn.00406d50
mov ecx, 0x75
xor edx, edx
mov al, byte [edx + 0x46d668]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x218], al
and ecx, 0x800000ff
jns 0x407e91
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x407e71
mov byte [ebp - 0x20a], 0
sub esp, 0x18
mov byte [ebp - 4], 0x12
mov edx, esp
lea ecx, [ebp - 0x218]
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407ec4
sub ecx, esi
lea eax, [ebp - 0x218]
push ecx
push eax
mov ecx, edx
call fcn.004019b0
mov ecx, edi
mov byte [ebp - 4], 0x13
call fcn.00409270
lea esi, [edi + 0x80]
mov ecx, 0xe5
xor edx, edx
mov al, byte [edx + 0x46d678]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1a0], al
and ecx, 0x800000ff
jns 0x407f14
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xb
jl 0x407ef4
mov byte [ebp - 0x195], 0
lea edx, [edi + 4]
mov byte [ebp - 4], 0x14
mov ecx, dword [edx + 0x10]
mov eax, 0x7fffffff
sub eax, ecx
cmp eax, 1
jb 0x409252
cmp dword [edx + 0x14], 0x10
jb 0x407f43
mov edx, dword [edx]
push 1
push 0x46d460
push ecx
push edx
push ecx
push dword [ebp - 0x1f0]
lea ecx, [ebp - 0x240]
call fcn.0040b940
lea eax, [edi + 0x1c]
mov byte [ebp - 4], 0x15
push eax
lea edx, [ebp - 0x240]
lea ecx, [ebp - 0x130]
call fcn.0040b260
add esp, 4
lea ecx, [edi + 0x98]
mov byte [ebp - 4], 0x16
push ecx
mov edx, eax
lea ecx, [ebp - 0x208]
call fcn.0040b260
add esp, 4
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x17
push ecx
mov ecx, eax
call fcn.00404dd0
or dword [ebp - 0x1a4], 0x300
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x1e4]
movq qword [ebp - 0x1a0], xmm1
movq qword [ebp - 0x1d4], xmm1
movups xmmword [ebp - 0x218], xmm0
movups xmmword [ebp - 0x1e4], xmm0
cmp esi, eax
je 0x408058
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x408034
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x40801b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409257
mov eax, edx
push ecx
push eax
call fcn.00433bdf
movups xmm0, xmmword [ebp - 0x218]
add esp, 8
movq xmm1, qword [ebp - 0x1a0]
mov dword [esi + 0x10], 0
mov edx, 0xf
mov dword [esi + 0x14], 0xf
movups xmmword [esi], xmm0
mov byte [ebp - 0x1e4], 0
movq qword [esi + 0x10], xmm1
jmp 0x40805e
mov edx, dword [ebp - 0x1d0]
cmp edx, 0x10
jb 0x408092
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408088
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409257
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x1f4]
cmp edx, 0x10
jb 0x4080d0
mov ecx, dword [ebp - 0x208]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4080c6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409257
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
mov byte [ebp - 0x208], 0
cmp edx, 0x10
jb 0x408129
mov ecx, dword [ebp - 0x130]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40811f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409257
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0xf
mov byte [ebp - 0x130], 0
cmp edx, 0x10
jb 0x408182
mov ecx, dword [ebp - 0x240]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408178
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409257
push edx
push ecx
call fcn.00433bdf
add esp, 8
xor ecx, ecx
mov eax, 0x2aaaaaab
mov dword [ebp - 0x1b4], ecx
mov ecx, dword [edi + 0x68]
sub ecx, dword [edi + 0x64]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x408356
xor ecx, ecx
mov dword [ebp - 0x1a8], ecx
nop
mov word [ebp - 0x18c], 0xa0d
mov byte [ebp - 0x18a], 0
mov byte [ebp - 4], 0x18
mov edx, dword [edi + 0x64]
add edx, ecx
lea ecx, [ebp - 0x18c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x1c0], eax
lea eax, [ecx + 1]
mov dword [ebp - 0x1b0], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4081e1
sub ecx, dword [ebp - 0x1b0]
mov eax, 0x7fffffff
sub eax, dword [ebp - 0x1c0]
cmp eax, ecx
jb 0x409248
cmp dword [edx + 0x14], 0x10
jb 0x408209
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x18c]
push eax
push dword [ebp - 0x1c0]
push edx
push ecx
push dword [ebp - 0x1f0]
lea ecx, [ebp - 0x1e4]
call fcn.0040b940
or dword [ebp - 0x1a4], 0x400
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x1e4]
cmp dword [ebp - 0x1d0], 0x10
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [esi + 0x10]
cmovae edx, eax
mov dword [ebp - 0x1b0], eax
mov eax, dword [esi + 0x14]
sub eax, ecx
mov dword [ebp - 0x1c0], ecx
mov ecx, dword [ebp - 0x1d4]
cmp ecx, eax
ja 0x4082ba
mov eax, dword [ebp - 0x1c0]
add eax, ecx
mov dword [ebp - 0x190], esi
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], eax
jb 0x40828b
mov eax, dword [esi]
mov dword [ebp - 0x190], eax
mov esi, dword [ebp - 0x190]
add esi, dword [ebp - 0x1c0]
push ecx
push edx
push esi
call fcn.00435440
mov eax, dword [ebp - 0x1d4]
add esp, 0xc
mov ecx, dword [ebp - 0x1b0]
mov byte [eax + esi], 0
lea esi, [edi + 0x80]
jmp 0x4082d7
push ecx
push edx
mov byte [ebp - 0x198], 0
push dword [ebp - 0x198]
push ecx
mov ecx, esi
call fcn.00405eb0
mov ecx, dword [ebp - 0x1e4]
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x10
jb 0x408311
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x408307
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40925c
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov ecx, dword [edi + 0x68]
xor eax, eax
sub ecx, dword [edi + 0x64]
add dword [ebp - 0x1a8], 0x18
inc dword [ebp - 0x1b4]
mov word [ebp - 0x18c], ax
mov byte [ebp - 0x18a], al
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp - 0x1a8]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x1b4], eax
jb 0x4081b0
mov word [ebp - 0x18c], 0xa0d
mov byte [ebp - 0x18a], 0
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x1a
push eax
mov ecx, esi
call fcn.00404dd0
mov byte [ebp - 4], 0
lea edx, [edi + 0xb0]
cmp dword [edi + 0xc4], 0x10
jb 0x408391
mov edx, dword [edi + 0xb0]
mov eax, dword [esi + 0x10]
mov ecx, dword [edi + 0xc0]
mov dword [ebp - 0x1a8], eax
mov eax, dword [esi + 0x14]
sub eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x198], ecx
cmp ecx, eax
ja 0x4083fb
mov eax, dword [ebp - 0x1a8]
add eax, ecx
mov dword [ebp - 0x190], esi
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], eax
jb 0x4083d2
mov eax, dword [esi]
mov dword [ebp - 0x190], eax
mov esi, dword [ebp - 0x190]
add esi, dword [ebp - 0x1a8]
push ecx
push edx
push esi
call fcn.00435440
mov eax, dword [ebp - 0x198]
add esp, 0xc
mov byte [esi + eax], 0
lea esi, [edi + 0x80]
jmp 0x408412
push ecx
push edx
mov byte [ebp - 0x198], 0
push dword [ebp - 0x198]
push ecx
mov ecx, esi
call fcn.00405eb0
xorps xmm0, xmm0
mov dword [ebp - 0x180], 0
push 0x190
movlpd qword [ebp - 0x170], xmm0
movlpd qword [ebp - 0x168], xmm0
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x17c], 2
mov dword [ebp - 0x178], 1
mov dword [ebp - 0x174], 6
call fcn.00433baf
add esp, 4
push eax
mov eax, dword [0x478c78]
push 2
mov eax, dword [eax + 0x74]
call eax
test eax, eax
jne 0x4091d9
mov word [ebp - 0x18c], 0x3038
mov byte [ebp - 0x18a], al
lea eax, [edi + 0x34]
mov byte [ebp - 4], 0x1b
cmp dword [eax + 0x14], 0x10
jb 0x408497
mov eax, dword [eax]
lea ecx, [ebp - 0x184]
push ecx
lea ecx, [ebp - 0x180]
push ecx
lea ecx, [ebp - 0x18c]
push ecx
push eax
mov eax, dword [0x478c78]
mov eax, dword [eax + 0x80]
call eax
mov byte [ebp - 4], 0
test eax, eax
jne 0x4091d9
mov eax, dword [ebp - 0x184]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
mov eax, dword [0x478c78]
mov eax, dword [eax + 0x7c]
call eax
mov ecx, dword [ebp - 0x184]
mov dword [edi + 0x7c], eax
push dword [ecx + 0x10]
push dword [ecx + 0x18]
push eax
mov eax, dword [0x478c78]
mov eax, dword [eax + 0x84]
call eax
test eax, eax
js 0x4091d9
cmp dword [esi + 0x14], 0x10
jb 0x40850c
mov esi, dword [esi]
mov eax, dword [0x478c78]
push 0
push dword [edi + 0x90]
mov eax, dword [eax + 0x88]
push esi
push dword [edi + 0x7c]
call eax
cmp eax, dword [edi + 0x90]
jne 0x4091d9
mov esi, 0x400
xorps xmm0, xmm0
push esi
movsd qword [ebp - 0x1c8], xmm0
mov dword [ebp - 0x1a8], esi
call fcn.0043dc82
add esp, 4
mov dword [edi + 0xc8], eax
nop word [eax + eax]
push pe_nt_image_headers32
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.004359d0
add esp, 0xc
lea eax, [ebp - 0x118]
push 0
push pe_nt_image_headers32
push eax
mov eax, dword [0x478c78]
push dword [edi + 0x7c]
mov eax, dword [eax + 0x8c]
call eax
mov dword [ebp - 0x190], eax
test eax, eax
jle 0x4091d9
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movd xmm0, esi
addsd xmm1, qword [ebp - 0x1c8]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x1b8], xmm1
comisd xmm1, xmm0
jbe 0x40862d
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0043dc82
movsd xmm0, qword [ebp - 0x1c8]
mov esi, eax
mov eax, dword [ebp - 0x1a8]
add esp, 4
shl eax, 2
mov dword [ebp - 0x1a8], eax
call fcn.004597c0
push eax
push dword [edi + 0xc8]
push esi
call fcn.00435440
add esp, 0xc
push dword [edi + 0xc8]
call fcn.00439aea
mov eax, dword [ebp - 0x190]
add esp, 4
mov dword [edi + 0xc8], esi
jmp 0x408633
mov esi, dword [edi + 0xc8]
push eax
lea eax, [ebp - 0x118]
push eax
cvttsd2si eax, qword [ebp - 0x1c8]
add eax, esi
push eax
call fcn.00435440
mov edx, dword [edi + 0xc8]
add esp, 0xc
movsd xmm0, qword [ebp - 0x1b8]
mov ecx, edx
mov dword [ebp - 0x130], 0
movsd qword [ebp - 0x1c8], xmm0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0xf
lea esi, [ecx + 1]
mov byte [ebp - 0x130], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408690
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x130]
call fcn.004019b0
cmp dword [edi + 0x108], 0xffffffff
mov eax, dword [ebp - 0x120]
mov esi, dword [ebp - 0x130]
mov dword [ebp - 0x1b4], eax
jne 0x40871e
or dword [ebp - 0x1a4], 1
lea edx, [ebp - 0x19c]
mov dword [ebp - 0x19c], 0x50545448
lea ecx, [edx + 1]
mov word [ebp - 0x198], 0x2f
mov al, byte [edx]
inc edx
test al, al
jne 0x4086e4
sub edx, ecx
lea eax, [ebp - 0x19c]
cmp dword [ebp - 0x11c], 0x10
lea ecx, [ebp - 0x130]
push edx
mov edx, dword [ebp - 0x1b4]
cmovae ecx, esi
push eax
push 0
call fcn.0040b7c0
add esp, 0xc
cmp eax, 0xffffffff
je 0x40871e
mov al, 1
jmp 0x408720
xor al, al
mov ecx, dword [ebp - 0x1a4]
test cl, 1
je 0x408743
and ecx, 0xfffffffe
mov dword [ebp - 0x1a4], ecx
xor ecx, ecx
mov dword [ebp - 0x19c], ecx
mov word [ebp - 0x198], cx
test al, al
je 0x408945
mov dword [ebp - 0x1b0], 0x50545448
mov word [ebp - 0x1ac], 0x2f
lea edx, [ebp - 0x1b0]
mov byte [ebp - 4], 0x1d
lea ecx, [edx + 1]
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x408770
sub edx, ecx
lea eax, [ebp - 0x1b0]
cmp dword [ebp - 0x11c], 0x10
lea ecx, [ebp - 0x130]
push edx
mov edx, dword [ebp - 0x1b4]
cmovae ecx, esi
push eax
push 0
setae byte [ebp - 0x185]
call fcn.0040b7c0
add esp, 0xc
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
lea edx, [eax + 9]
mov byte [ebp - 0x1e4], 0
mov eax, dword [ebp - 0x1b4]
cmp eax, edx
jb 0x40923e
sub eax, edx
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp byte [ebp - 0x185], 0
lea eax, [ebp - 0x130]
cmovne eax, esi
push ecx
add eax, edx
lea ecx, [ebp - 0x1e4]
push eax
call fcn.004019b0
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x1e4]
mov ecx, 3
mov dword [ebp - 0x208], 0
cmp dword [ebp - 0x1d4], ecx
mov dword [ebp - 0x1f8], 0
cmovb ecx, dword [ebp - 0x1d4]
cmp dword [ebp - 0x1d0], 0x10
push ecx
cmovae eax, dword [ebp - 0x1e4]
lea ecx, [ebp - 0x208]
push eax
mov dword [ebp - 0x1f4], 0xf
call fcn.004019b0
mov eax, dword [ebp - 0x1a4]
or eax, 0x1800
cmp dword [ebp - 0x1f4], 0x10
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x208]
cmovae eax, dword [ebp - 0x208]
push eax
call fcn.0043a935
mov edx, dword [ebp - 0x1f4]
add esp, 4
mov dword [edi + 0x108], eax
cmp edx, 0x10
jb 0x4088cb
mov ecx, dword [ebp - 0x208]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4088c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40924d
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
mov byte [ebp - 0x208], 0
cmp edx, 0x10
jb 0x408924
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40891a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40924d
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov esi, dword [ebp - 0x130]
xor eax, eax
mov dword [ebp - 0x1b0], eax
mov word [ebp - 0x1ac], ax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x1b4], eax
movsd xmm0, qword [edi + 0x110]
ucomisd xmm0, qword [0x470858]
lahf
test ah, 0x44
jp 0x4089dd
mov ecx, 0x59
xor edx, edx
mov al, byte [edx + 0x46d684]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x238], al
and ecx, 0x800000ff
jns 0x408986
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x408966
or dword [ebp - 0x1a4], 2
lea edx, [ebp - 0x238]
mov byte [ebp - 0x22a], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4089a3
sub edx, ecx
lea eax, [ebp - 0x238]
cmp dword [ebp - 0x11c], 0x10
lea ecx, [ebp - 0x130]
push edx
mov edx, dword [ebp - 0x1b4]
cmovae ecx, esi
push eax
push 0
call fcn.0040b7c0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4089dd
mov al, 1
jmp 0x4089df
xor al, al
mov ecx, dword [ebp - 0x1a4]
test cl, 2
je 0x408a18
and ecx, 0xfffffffd
mov dword [ebp - 0x230], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1a4], ecx
movq qword [ebp - 0x238], xmm0
mov word [ebp - 0x22c], 0
mov byte [ebp - 0x22a], 0
test al, al
je 0x408d31
mov ecx, 0x15
xor edx, edx
mov al, byte [edx + str.Vyylto1QqGUJ]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x228], al
and ecx, 0x800000ff
jns 0x408a47
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x408a27
mov byte [ebp - 0x21a], 0
mov word [ebp - 0x18c], 0xa0d
mov byte [ebp - 0x18a], 0
mov ecx, 0x22
xor edx, edx
nop dword [eax + eax]
mov al, byte [edx + str.aLJQCI_]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x218], al
and ecx, 0x800000ff
jns 0x408a90
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x408a70
mov byte [ebp - 0x20a], 0
lea edx, [ebp - 0x218]
mov byte [ebp - 4], 0x21
lea ecx, [edx + 1]
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x408ab0
sub edx, ecx
lea eax, [ebp - 0x218]
cmp dword [ebp - 0x11c], 0x10
lea ecx, [ebp - 0x130]
push edx
mov edx, dword [ebp - 0x1b4]
cmovae ecx, esi
push eax
push 0
setae byte [ebp - 0x185]
call fcn.0040b7c0
add esp, 0xc
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
lea edx, [eax + 0x10]
mov byte [ebp - 0x1e4], 0
mov eax, dword [ebp - 0x1b4]
cmp eax, edx
jb 0x40923e
sub eax, edx
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp byte [ebp - 0x185], 0
lea eax, [ebp - 0x130]
cmovne eax, esi
push ecx
add eax, edx
lea ecx, [ebp - 0x1e4]
push eax
call fcn.004019b0
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x22
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408b55
lea esi, [ebp - 0x18c]
sub ecx, edx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x408b67
push ecx
lea eax, [ebp - 0x228]
sub esi, edx
cmp dword [ebp - 0x11c], 0x10
mov edx, dword [ebp - 0x120]
push eax
push 0
jb 0x408b9c
mov ecx, dword [ebp - 0x130]
call fcn.0040b7c0
mov ecx, dword [ebp - 0x130]
jmp 0x408bad
lea ecx, [ebp - 0x130]
call fcn.0040b7c0
lea ecx, [ebp - 0x130]
add esp, 0xc
lea edx, [ebp - 0x18c]
push esi
push edx
mov edx, dword [ebp - 0x120]
push eax
call fcn.0040b7c0
mov edx, eax
mov dword [ebp - 0x208], 0
add esp, 0xc
mov dword [ebp - 0x1f8], 0
cmp dword [ebp - 0x1d4], edx
lea eax, [ebp - 0x1e4]
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x1f4], 0xf
cmovb edx, dword [ebp - 0x1d4]
cmp dword [ebp - 0x1d0], 0x10
push edx
cmovae eax, dword [ebp - 0x1e4]
push eax
call fcn.004019b0
mov eax, dword [ebp - 0x1a4]
or eax, 0x6000
cmp dword [ebp - 0x1f4], 0x10
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x208]
cmovae eax, dword [ebp - 0x208]
push eax
call fcn.0043dc6f
mov edx, dword [ebp - 0x1f4]
add esp, 4
fstp qword [edi + 0x110]
cmp edx, 0x10
jb 0x408c83
mov ecx, dword [ebp - 0x208]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408c79
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40924d
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
mov byte [ebp - 0x208], 0
cmp edx, 0x10
jb 0x408cdc
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408cd2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40924d
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov esi, dword [ebp - 0x130]
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0x210], 0
movq qword [ebp - 0x218], xmm0
mov word [ebp - 0x20c], 0
mov byte [ebp - 0x20a], 0
mov word [ebp - 0x18c], ax
mov byte [ebp - 0x18a], al
movq qword [ebp - 0x228], xmm0
mov dword [ebp - 0x220], eax
mov word [ebp - 0x21c], ax
mov byte [ebp - 0x21a], al
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x11c]
cmp eax, 0x10
jb 0x408d6b
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x408d61
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40924d
push ecx
push esi
call fcn.00433bdf
add esp, 8
cmp dword [ebp - 0x190], 0x100
jne 0x408d82
mov esi, dword [ebp - 0x1a8]
jmp 0x408560
mov edx, dword [edi + 0xc8]
mov ecx, edx
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0xf
mov byte [ebp - 0x148], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408db2
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x148]
call fcn.004019b0
mov dword [ebp - 0x19c], 0xa0d0a0d
mov byte [ebp - 0x198], 0
lea edx, [ebp - 0x19c]
mov byte [ebp - 4], 0x24
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x408de6
mov esi, dword [ebp - 0x138]
lea eax, [ebp - 0x19c]
sub edx, ecx
cmp dword [ebp - 0x134], 0x10
push edx
push eax
lea ecx, [ebp - 0x148]
mov edx, esi
cmovae ecx, dword [ebp - 0x148]
setae byte [ebp - 0x185]
push 0
call fcn.0040b7c0
add esp, 0xc
mov dword [ebp - 0x1e4], 0
cmp esi, eax
mov dword [ebp - 0x1d4], 0
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x1d0], 0xf
cmovb eax, esi
cmp byte [ebp - 0x185], 0
push eax
cmovne ecx, dword [ebp - 0x148]
push ecx
lea ecx, [ebp - 0x1e4]
call fcn.004019b0
mov edi, dword [ebp - 0x1f0]
lea eax, [ebp - 0x1e4]
lea esi, [edi + 0xcc]
cmp esi, eax
je 0x408ee4
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x408eb1
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x408ea7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40925c
mov eax, edx
push ecx
push eax
call fcn.00433bdf
add esp, 8
movups xmm0, xmmword [ebp - 0x1e4]
mov dword [esi + 0x10], 0
mov edx, 0xf
mov dword [esi + 0x14], 0xf
movups xmmword [esi], xmm0
mov byte [ebp - 0x1e4], 0
movq xmm0, qword [ebp - 0x1d4]
movq qword [esi + 0x10], xmm0
jmp 0x408eea
mov edx, dword [ebp - 0x1d0]
cmp edx, 0x10
jb 0x408f1e
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408f14
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40925c
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov byte [ebp - 4], 0x23
mov eax, dword [edi + 0xdc]
movsd xmm0, qword [ebp - 0x1c8]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x470930]
subsd xmm0, xmm1
subsd xmm0, qword [0x470898]
movsd qword [edi + 0xe8], xmm0
call fcn.004597c0
push eax
call fcn.0043dc82
lea edx, [ebp - 0x19c]
mov dword [ebp - 0x1f0], eax
add esp, 4
mov dword [edi + 0xe4], eax
mov dword [ebp - 0x19c], 0xa0d0a0d
lea ecx, [edx + 1]
mov byte [ebp - 0x198], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x408f90
sub edx, ecx
lea eax, [ebp - 0x19c]
cmp dword [ebp - 0x134], 0x10
lea ecx, [ebp - 0x148]
push edx
cmovae ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x138]
push eax
push 0
call fcn.0040b7c0
movsd xmm0, qword [edi + 0xe8]
add esp, 0xc
mov esi, eax
call fcn.004597c0
push eax
mov eax, dword [edi + 0xc8]
add eax, 4
add eax, esi
push eax
push dword [ebp - 0x1f0]
call fcn.00435440
mov edx, dword [edi + 0xe4]
add esp, 0xc
mov ecx, edx
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
mov byte [ebp - 0x1e4], 0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409020
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x1e4]
call fcn.004019b0
mov byte [ebp - 4], 0x25
movsd xmm0, qword [edi + 0xe8]
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
call fcn.004597c0
cmp dword [ebp - 0x1d4], eax
lea ecx, [ebp - 0x1e4]
cmovb eax, dword [ebp - 0x1d4]
cmp dword [ebp - 0x1d0], 0x10
push eax
cmovae ecx, dword [ebp - 0x1e4]
push ecx
lea ecx, [ebp - 0x208]
call fcn.004019b0
lea esi, [edi + 0xf0]
lea eax, [ebp - 0x208]
cmp esi, eax
je 0x4090fd
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x4090d6
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x4090cc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40925c
mov eax, edx
push ecx
push eax
call fcn.00433bdf
add esp, 8
movups xmm0, xmmword [ebp - 0x208]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x1f8]
movq qword [esi + 0x10], xmm0
jmp 0x409137
mov edx, dword [ebp - 0x1f4]
cmp edx, 0x10
jb 0x409137
mov ecx, dword [ebp - 0x208]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40912d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40925c
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov edx, dword [ebp - 0x1d0]
cmp edx, 0x10
jb 0x409171
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409167
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40925c
push edx
push ecx
call fcn.00433bdf
add esp, 8
mov edx, dword [ebp - 0x134]
mov al, 1
mov byte [edi], 1
mov byte [ebp - 0x185], al
cmp edx, 0x10
jb 0x4091bc
mov ecx, dword [ebp - 0x148]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4091ac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40925c
push edx
push ecx
call fcn.00433bdf
mov al, byte [ebp - 0x185]
add esp, 8
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0xf
mov byte [ebp - 0x148], 0
jmp 0x4091e4
xor al, al
mov byte [edi], 0
mov byte [ebp - 0x185], al
mov edx, dword [ebp - 0x14c]
cmp edx, 0x10
jb 0x409220
mov ecx, dword [ebp - 0x160]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409210
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40925c
push edx
push ecx
call fcn.00433bdf
mov al, byte [ebp - 0x185]
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00433ba1
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004021b0
call fcn.004021b0
call fcn.004012a0
call fcn.004382bd
call fcn.004012a0
call fcn.004382bd
call fcn.004382bd
int3