Function at 0x44af60
Capabilities:
Check for peb ntglobalflag flag
Contain obfuscated stackstrings
Get process heap flags
Get process heap force flags

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x8245ad
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2d8
mov eax, dword [0x93cf44]
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 - 0x2e4], edi
mov dword [ebp - 0x2ac], edi
mov dword [ebp - 0x2e8], edi
lea ecx, [edi + 8]
push 0
mov dword [edi], 0
mov dword [edi + 4], 0
call fcn.0048a040
mov dword [ebp - 4], 0
xor eax, eax
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 7
mov word [edi + 0x20], ax
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], 0xf
mov byte [edi + 0x38], al
mov dword [edi + 0x60], eax
mov dword [edi + 0x64], 0xf
mov byte [edi + 0x50], al
mov dword [edi + 0x78], eax
mov dword [edi + 0x7c], 7
mov word [edi + 0x68], ax
mov dword [edi + 0x90], eax
mov dword [edi + 0x94], 7
mov word [edi + 0x80], ax
mov dword [edi + 0xac], eax
mov dword [edi + 0xb0], 7
mov word [edi + 0x9c], ax
mov dword [edi + 0xc4], eax
mov dword [edi + 0xc8], 7
mov word [edi + 0xb4], ax
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 7
mov word [edi + 0xcc], ax
lea esi, [edi + 0x5c4]
mov dword [edi + 0xe4], eax
mov dword [edi + 0x5b8], eax
mov dword [edi + 0x5bc], eax
mov dword [ebp - 0x2ac], esi
mov dword [esi], 1
mov dword [esi + 4], 1
mov dword [esi + 8], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], 7
mov word [esi + 0x24], ax
mov byte [ebp - 4], 9
lea ecx, [esi + 0x44]
mov dword [esi + 0x3c], 1
mov dword [esi + 0x40], 1
push 0x2a
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 7
push 0x900e00
mov word [ecx], ax
call fcn.0040eb10
mov dword [esi + 0x5c], 0
mov dword [esi + 0x60], 0
mov dword [esi + 0x64], 0
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 1
mov dword [esi + 0x78], 1
mov dword [esi + 0x7c], 0
mov dword [esi + 0x80], 0x18
mov dword [esi + 0x84], 0
mov dword [esi + 0x88], 1
mov dword [esi + 0x8c], 0
mov dword [esi + 0x90], 0
mov dword [esi + 0x94], 0
mov dword [esi + 0x98], 0
mov dword [esi + 0x9c], 0
mov dword [esi + 0xa0], 0
mov dword [esi + 0xa4], 0
mov dword [esi + 0xa8], 0
mov dword [esi + 0xac], 1
xor eax, eax
mov dword [esi + 0xc0], 0
mov dword [esi + 0xc4], 7
mov word [esi + 0xb0], ax
mov dword [edi + 0x69c], eax
mov dword [edi + 0x6a0], 7
mov word [edi + 0x68c], ax
mov dword [edi + 0x6ac], eax
mov dword [edi + 0x6b0], eax
mov dword [edi + 0x6b4], eax
mov dword [edi + 0x6c8], eax
mov dword [edi + 0x6cc], 7
mov word [edi + 0x6b8], ax
mov dword [edi + 0x6e0], eax
mov dword [edi + 0x6e4], 7
mov word [edi + 0x6d0], ax
mov dword [edi + 0x6f8], eax
mov dword [edi + 0x6fc], 7
mov word [edi + 0x6e8], ax
mov dword [edi + 0x710], eax
mov dword [edi + 0x714], 7
mov word [edi + 0x700], ax
mov dword [edi + 0x728], eax
mov dword [edi + 0x72c], 7
mov word [edi + 0x718], ax
mov dword [edi + 0x730], eax
mov dword [edi + 0x734], eax
mov dword [edi + 0x738], 1
mov dword [edi + 0x754], eax
mov dword [edi + 0x758], 0xf
mov byte [edi + 0x744], al
mov dword [edi + 0x76c], eax
mov dword [edi + 0x770], 7
mov word [edi + 0x75c], ax
mov byte [ebp - 4], 0x12
lea esi, [edi + 0x774]
mov dword [ebp - 0x2ac], esi
mov dword [esi], eax
mov dword [esi + 4], eax
call fcn.00473bf0
mov dword [esi], eax
mov dword [edi + 0x77c], 1
mov dword [edi + 0x780], 0
mov dword [edi + 0x784], 0
mov dword [edi + 0x788], 0xffffffff
mov dword [edi + 0x78c], 0
mov dword [edi + 0x790], 1
mov dword [edi + 0x794], 0
mov dword [edi + 0x798], 0
mov dword [edi + 0x79c], 0
mov dword [edi + 0x7a0], 0
mov dword [edi + 0x7a4], 0
mov dword [edi + 0x7a8], 0
mov dword [edi + 0x7ac], 0
mov dword [edi + 0x7b0], 0
mov dword [edi + 0x7b4], 0
xor ecx, ecx
mov dword [edi + 0x7c8], 0
mov dword [edi + 0x7cc], 7
mov word [edi + 0x7b8], cx
mov dword [edi + 0x7e0], ecx
mov dword [edi + 0x7e4], 7
mov word [edi + 0x7d0], cx
mov dword [edi + 0x7f8], ecx
mov dword [edi + 0x7fc], 7
xor eax, eax
mov word [edi + 0x7e8], ax
mov dword [edi + 0x810], eax
mov dword [edi + 0x814], 7
mov word [edi + 0x800], ax
mov dword [edi + 0x818], eax
mov dword [edi + 0x81c], eax
mov dword [edi + 0x820], 1
mov dword [edi + 0x824], 1
mov dword [edi + 0x828], 1
mov dword [edi + 0x82c], eax
mov dword [edi + 0x840], eax
mov dword [edi + 0x844], 7
mov word [edi + 0x830], ax
mov dword [edi + 0x848], eax
mov dword [edi + 0x84c], eax
mov dword [edi + 0x850], eax
mov dword [edi + 0x854], eax
mov dword [edi + 0x858], eax
mov dword [edi + 0x85c], eax
mov byte [ebp - 4], 0x1d
lea esi, [edi + 0xc24]
mov dword [edi + 0x864], eax
mov ecx, esi
mov dword [ebp - 0x2ac], esi
push eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
push 0x8fe96c
mov word [esi], ax
call fcn.0040eb10
xor eax, eax
mov byte [ebp - 4], 0x1e
lea ecx, [esi + 0x18]
mov dword [ecx + 0x10], 0
push eax
mov dword [ecx + 0x14], 7
push 0x8fe96c
mov word [ecx], ax
call fcn.0040eb10
xor eax, eax
mov byte [ebp - 4], 0x1f
lea ecx, [esi + 0x30]
mov dword [ecx + 0x10], 0
push eax
mov dword [ecx + 0x14], 7
push 0x8fe96c
mov word [ecx], ax
call fcn.0040eb10
lea esi, [edi + 0xc6c]
mov byte [ebp - 4], 0x20
xor eax, eax
mov dword [ebp - 0x2ac], esi
push eax
mov dword [esi + 0x10], 0
mov ecx, esi
mov dword [esi + 0x14], 7
push 0x8fe96c
mov word [esi], ax
call fcn.0040eb10
xor eax, eax
mov byte [ebp - 4], 0x21
lea ecx, [esi + 0x18]
mov dword [ecx + 0x10], 0
push eax
mov dword [ecx + 0x14], 7
push 0x8fe96c
mov word [ecx], ax
call fcn.0040eb10
mov byte [ebp - 4], 0x22
lea esi, [edi + 0xc9c]
xor eax, eax
mov dword [ebp - 0x2ac], esi
push eax
mov dword [esi + 0x10], 0
mov ecx, esi
mov dword [esi + 0x14], 7
push 0x8fe96c
mov word [esi], ax
call fcn.0040eb10
mov byte [ebp - 4], 0x23
lea ecx, [esi + 0x1c]
xor eax, eax
mov dword [esi + 0x18], 0
push eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push 0x8fe96c
mov word [ecx], ax
call fcn.0040eb10
xor eax, eax
mov byte [ebp - 4], 0x24
lea ecx, [esi + 0x34]
mov dword [ecx + 0x10], 0
push eax
mov dword [ecx + 0x14], 7
push 0x8fe96c
mov word [ecx], ax
call fcn.0040eb10
mov dword [esi + 0x4c], 0
xor eax, eax
mov dword [esi + 0x60], 0
mov dword [esi + 0x64], 7
mov word [esi + 0x50], ax
mov dword [esi + 0x78], eax
mov dword [esi + 0x7c], 7
mov word [esi + 0x68], ax
mov dword [esi + 0x90], eax
mov dword [esi + 0x94], 7
mov word [esi + 0x80], ax
mov byte [ebp - 4], 0x25
lea esi, [edi + 0xd34]
mov dword [ebp - 0x2ac], esi
lea ecx, [esi + 8]
mov dword [esi], eax
mov dword [esi + 4], eax
push eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 7
push 0x8fe96c
mov word [ecx], ax
call fcn.0040eb10
xor eax, eax
mov byte [ebp - 4], 0x26
lea ecx, [esi + 0x20]
mov dword [ecx + 0x10], 0
push eax
mov dword [ecx + 0x14], 7
push 0x8fe96c
mov word [ecx], ax
call fcn.0040eb10
mov dword [esi + 0x38], 0
xor eax, eax
mov dword [esi + 0x4c], 0
mov dword [esi + 0x50], 7
mov word [esi + 0x3c], ax
mov dword [esi + 0x64], eax
mov dword [esi + 0x68], 7
mov word [esi + 0x54], ax
mov dword [esi + 0x7c], eax
mov dword [esi + 0x80], 7
mov word [esi + 0x6c], ax
lea esi, [edi + 0xdb8]
mov byte [ebp - 4], 0x27
mov dword [ebp - 0x2ac], esi
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
push eax
push 0x8fe96c
mov ecx, esi
mov word [esi], ax
call fcn.0040eb10
mov byte [ebp - 4], 0x28
lea ecx, [esi + 0x28]
xor eax, eax
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 1
mov dword [esi + 0x24], 0
push eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push 0x8fe96c
mov word [ecx], ax
call fcn.0040eb10
xor eax, eax
mov byte [ebp - 4], 0x29
lea ecx, [esi + 0x40]
mov dword [ecx + 0x10], 0
push eax
mov dword [ecx + 0x14], 7
push 0x8fe96c
mov word [ecx], ax
call fcn.0040eb10
xor eax, eax
mov byte [ebp - 4], 0x2a
lea ecx, [esi + 0x58]
mov dword [ecx + 0x10], 0
push eax
mov dword [ecx + 0x14], 7
push 0x8fe96c
mov word [ecx], ax
call fcn.0040eb10
xor eax, eax
mov byte [ebp - 4], 0x2b
lea ecx, [esi + 0x70]
mov dword [ecx + 0x10], 0
push eax
mov dword [ecx + 0x14], 7
push 0x8fe96c
mov word [ecx], ax
call fcn.0040eb10
mov dword [edi + 0xe40], 0
mov dword [edi + 0xe44], 0
mov dword [edi + 0xe48], 0
mov dword [edi + 0xe4c], 0
sub esp, 8
mov byte [ebp - 4], 0x2e
lea ecx, [edi + 0xe80]
call fcn.0040a570
mov dword [edi + 0xf34], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x30
call fcn.00416b00
movups xmm1, xmmword [ebp - 0x9c]
mov byte [ebp - 0x9c], 0
movq xmm0, qword [ebp - 0x8c]
movups xmmword [ebp - 0xb4], xmm1
mov dword [ebp - 0x8c], 0
movq qword [ebp - 0xa4], xmm0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0xb4]
cmp dword [ebp - 0xa0], 0x10
movd eax, xmm1
cmovae ecx, eax
mov dword [ebp - 0x2ac], ecx
lea ecx, [ebp - 0x12c]
call fcn.00417210
mov dword [ebp - 0x2b4], eax
mov byte [ebp - 4], 0x32
cmp dword [eax + 0x14], 0x10
jb 0x44b7dc
mov eax, dword [eax]
mov dword [ebp - 0x2b4], eax
lea ecx, [ebp - 0x114]
call fcn.00417620
mov esi, eax
mov byte [ebp - 4], 0x33
cmp dword [esi + 0x14], 0x10
jb 0x44b7f5
mov esi, dword [esi]
lea ecx, [ebp - 0xfc]
call fcn.004178e0
mov dword [ebp - 0x2c0], eax
mov byte [ebp - 4], 0x34
cmp dword [eax + 0x14], 0x10
jb 0x44b818
mov eax, dword [eax]
mov dword [ebp - 0x2c0], eax
movups xmm0, xmmword [0x902a64]
mov al, byte [0x902a74]
xor ecx, ecx
cmp dword [0x1817094], 2
movups xmmword [ebp - 0x6c], xmm0
mov byte [ebp - 0x5c], al
mov dword [ebp - 0x2bc], ecx
jl 0x44b990
movaps xmm0, xmmword [0x904730]
mov eax, 5
movaps xmm4, xmmword [0x9046b0]
movaps xmm3, xmmword [0x904770]
movaps xmm6, xmmword [0x9046e0]
movd xmm5, eax
mov eax, 0x1f
movaps xmmword [ebp - 0x2e0], xmm0
mov edx, dword [ebp - 0x2e0]
movd xmm7, eax
nop dword [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x904720]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x6c]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x6c], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm5
movaps xmm0, xmm1
psrld xmm0, xmm7
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x904720]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ebp + ecx - 0x68]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0x68], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x44b880
mov dword [ebp - 0x2bc], ecx
cmp ecx, 0x11
jge 0x44b9cd
nop word [eax + eax]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x2bc]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x2bc]
add al, 0x35
xor byte [ebp + ecx - 0x6c], al
inc ecx
mov dword [ebp - 0x2bc], ecx
cmp ecx, 0x11
jl 0x44b990
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x6c]
push dword [ebp - 0x2b4]
push esi
push dword [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x1a4]
push eax
call fcn.004159c0
add esp, 0x18
mov byte [ebp - 4], 0x36
mov edx, dword [ebp - 0xe8]
cmp edx, 0x10
jb 0x44ba31
mov ecx, dword [ebp - 0xfc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44ba27
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c4a7
push edx
push ecx
call fcn.005c4046
add esp, 8
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0xf
mov byte [ebp - 0xfc], 0
mov byte [ebp - 4], 0x37
mov edx, dword [ebp - 0x100]
cmp edx, 0x10
jb 0x44ba8a
mov ecx, dword [ebp - 0x114]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44ba80
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c4ac
push edx
push ecx
call fcn.005c4046
add esp, 8
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0xf
mov byte [ebp - 0x114], 0
mov byte [ebp - 4], 0x38
mov edx, dword [ebp - 0x118]
cmp edx, 0x10
jb 0x44bae3
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44bad9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c4b1
push edx
push ecx
call fcn.005c4046
add esp, 8
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
mov byte [ebp - 4], 0x39
mov edx, dword [ebp - 0xa0]
cmp edx, 0x10
jb 0x44bb3c
mov ecx, dword [ebp - 0xb4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44bb32
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c4b6
push edx
push ecx
call fcn.005c4046
add esp, 8
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0xf
mov byte [ebp - 0xb4], 0
call fcn.00487530
mov esi, eax
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0x3a
call fcn.004870a0
push esi
push eax
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x3b
push eax
call fcn.00479ba0
add esp, 0xc
mov byte [ebp - 4], 0x3d
mov edx, dword [ebp - 0x130]
cmp edx, 0x10
jb 0x44bbc6
mov ecx, dword [ebp - 0x144]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44bbbc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c4bb
push edx
push ecx
call fcn.005c4046
add esp, 8
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
mov byte [ebp - 4], 0x3e
mov edx, dword [ebp - 0x148]
cmp edx, 0x10
jb 0x44bc1f
mov ecx, dword [ebp - 0x15c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44bc15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c4c0
push edx
push ecx
call fcn.005c4046
add esp, 8
cmp dword [ebp - 0xd0], 0x10
lea eax, [ebp - 0xe4]
push dword [ebp - 0xd4]
cmovae eax, dword [ebp - 0xe4]
lea ecx, [ebp - 0x238]
push eax
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
mov byte [ebp - 0x1d0], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x238], 0x67452301
mov dword [ebp - 0x234], 0xefcdab89
mov dword [ebp - 0x230], 0x98badcfe
mov dword [ebp - 0x22c], 0x10325476
call fcn.00407580
lea eax, [ebp - 0x174]
push eax
lea ecx, [ebp - 0x238]
call fcn.00407e90
lea esi, [edi + 0x7b8]
mov dword [ebp - 0x2ac], eax
cmp esi, eax
je 0x44bcf5
mov ecx, esi
call fcn.00406ef0
mov eax, dword [ebp - 0x2ac]
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov edx, dword [ebp - 0x160]
cmp edx, 8
jb 0x44bd35
mov ecx, dword [ebp - 0x174]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44bd2b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c4c5
push edx
push ecx
call fcn.005c4046
add esp, 8
cmp esi, 0x181dd40
je 0x44bd54
cmp dword [esi + 0x14], 8
mov eax, dword [esi + 0x10]
jb 0x44bd48
mov esi, dword [esi]
push eax
push esi
mov ecx, 0x181dd40
call fcn.0040eb10
push 0
call fcn.006dd725
mov dword [ebp - 0x2ac], eax
add esp, 4
mov ax, word [0x90187c]
xor ecx, ecx
mov word [ebp - 0x2bc], ax
mov esi, edx
mov al, byte [0x90187e]
mov byte [ebp - 0x2ba], al
mov dword [ebp - 0x2b4], ecx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, byte [ebp - 0x2b4]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x2b4]
add al, 0x35
xor byte [ebp + ecx - 0x2bc], al
inc ecx
mov dword [ebp - 0x2b4], ecx
cmp ecx, 3
jl 0x44bd86
push esi
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x2bc]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.004159c0
add esp, 0x10
mov byte [ebp - 4], 0x3f
lea eax, [ebp - 0x84]
cmp dword [ebp - 0x70], 0x10
lea ecx, [ebp - 0x2a8]
push dword [ebp - 0x74]
cmovae eax, dword [ebp - 0x84]
push eax
mov byte [ebp - 0x240], 0
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x2a8], 0x67452301
mov dword [ebp - 0x2a4], 0xefcdab89
mov dword [ebp - 0x2a0], 0x98badcfe
mov dword [ebp - 0x29c], 0x10325476
call fcn.00407580
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x2a8]
call fcn.00407e90
mov esi, eax
lea ecx, [edi + 0x7d0]
cmp ecx, esi
je 0x44be97
call fcn.00406ef0
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [edi + 0x7d0], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x7e0], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov edx, dword [ebp - 0x178]
cmp edx, 8
jb 0x44bed7
mov ecx, dword [ebp - 0x18c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44becd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c4ca
push edx
push ecx
call fcn.005c4046
add esp, 8
push 0
call fcn.006dd725
add esp, 4
mov dword [ebp - 0x2b8], eax
lea eax, [ebp - 0x2b8]
mov dword [ebp - 0x2b4], edx
push eax
lea eax, [ebp - 0x1c8]
push eax
call fcn.006dda18
push 0x40
lea eax, [ebp - 0x58]
push 0
push eax
call fcn.006d0040
movzx eax, word [ebp - 0x1bc]
add esp, 0x14
push eax
mov eax, dword [ebp - 0x1b8]
inc eax
movzx eax, ax
push eax
mov eax, dword [ebp - 0x1b4]
add eax, 0x76c
movzx eax, ax
push eax
lea eax, [ebp - 0x58]
push 0x8ff40c
push eax
call dword [0x83da58]
add esp, 0x14
mov dword [ebp - 0xbc], 0
xor eax, eax
mov dword [ebp - 0xb8], 7
lea ecx, [ebp - 0x58]
mov word [ebp - 0xcc], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44bf67
sub ecx, edx
lea eax, [ebp - 0x58]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xcc]
call fcn.0040eb10
mov byte [ebp - 4], 0x40
lea edx, [ebp - 0xcc]
cmp dword [ebp - 0xb8], 8
cmovae edx, dword [ebp - 0xcc]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44bfa3
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, 0x181ddb8
call fcn.0040eb10
mov byte [ebp - 4], 0x3f
mov edx, dword [ebp - 0xb8]
cmp edx, 8
jb 0x44c002
mov ecx, dword [ebp - 0xcc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44bff8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c4cf
push edx
push ecx
call fcn.005c4046
add esp, 8
push 0x2c8
lea eax, [edi + 0xe8]
push 0
push eax
call fcn.006d0040
add esp, 0xc
lea eax, [edi + 0x3b0]
mov dword [ebp - 0x2ac], eax
push 0x208
push 0
push eax
call fcn.006d0040
mov eax, dword fs:[0x30]
add esp, 0xc
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx edx, word [eax + 0x2c]
mov ecx, 0x811c9dc5
mov esi, dword [eax + 0x30]
and edx, 0xfffffffe
mov dword [ebp - 0x2b4], ecx
xor edi, edi
mov dword [ebp - 0x2c0], eax
lea ecx, [edx + esi]
inc edx
shr edx, 1
cmp esi, ecx
cmova edx, edi
mov dword [ebp - 0x2d4], edx
test edx, edx
je 0x44c0b4
mov eax, dword [ebp - 0x2b4]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44c088
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0x2d4]
jne 0x44c078
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0xa3e6f6c3
mov eax, dword [ebp - 0x2c0]
je 0x44c0b8
mov eax, dword [eax]
jmp 0x44c040
mov esi, dword [eax + 0x18]
mov eax, dword [0x181e0a4]
mov dword [ebp - 0x2d4], esi
test eax, eax
jne 0x44c197
test esi, esi
je 0x44c190
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x2c0], eax
xor eax, eax
mov dword [ebp - 0x2c0], ecx
cmp ecx, esi
je 0x44c192
mov dword [ebp - 0x2b4], eax
cmp dword [ecx + 0x18], eax
je 0x44c190
mov edi, dword [ecx + 0x20]
add edi, esi
nop dword [eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44c14a
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44c12d
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x44c120
cmp esi, 0xeb3e491b
je 0x44c167
mov eax, dword [ebp - 0x2b4]
mov ecx, dword [ebp - 0x2c0]
inc eax
add edi, 4
mov dword [ebp - 0x2b4], eax
cmp eax, dword [ecx + 0x18]
je 0x44c190
mov esi, dword [ebp - 0x2d4]
jmp 0x44c110
mov esi, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x2d4]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
jmp 0x44c192
xor eax, eax
mov dword [0x181e0a4], eax
push 0x104
push dword [ebp - 0x2ac]
push 0
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx edx, word [eax + 0x2c]
mov ecx, 0x811c9dc5
mov esi, dword [eax + 0x30]
and edx, 0xfffffffe
mov dword [ebp - 0x2b4], ecx
xor edi, edi
mov dword [ebp - 0x2d4], eax
lea ecx, [edx + esi]
inc edx
shr edx, 1
cmp esi, ecx
cmova edx, edi
mov dword [ebp - 0x2c0], edx
test edx, edx
je 0x44c22c
mov eax, dword [ebp - 0x2b4]
nop word [eax + eax]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x44c200
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0x2c0]
jne 0x44c1f0
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0x8ec4c73b
mov eax, dword [ebp - 0x2d4]
je 0x44c230
mov eax, dword [eax]
jmp 0x44c1b2
mov esi, dword [eax + 0x18]
mov eax, dword [0x181e0a8]
mov dword [ebp - 0x2c0], esi
test eax, eax
jne 0x44c30c
test esi, esi
je 0x44c305
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x2d4], eax
xor eax, eax
mov dword [ebp - 0x2d4], ecx
cmp ecx, esi
je 0x44c307
mov dword [ebp - 0x2b4], eax
cmp dword [ecx + 0x18], eax
je 0x44c305
mov edi, dword [ecx + 0x20]
add edi, esi
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44c2bf
lea eax, [ecx - 0x41]
cmp al, 0x19
movsx eax, cl
ja 0x44c2a2
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x44c295
cmp esi, 0xf1cc2f70
je 0x44c2dc
mov eax, dword [ebp - 0x2b4]
mov ecx, dword [ebp - 0x2d4]
inc eax
add edi, 4
mov dword [ebp - 0x2b4], eax
cmp eax, dword [ecx + 0x18]
je 0x44c305
mov esi, dword [ebp - 0x2c0]
jmp 0x44c285
mov esi, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x2c0]
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
jmp 0x44c307
xor eax, eax
mov dword [0x181e0a8], eax
push dword [ebp - 0x2ac]
call eax
mov esi, dword [ebp - 0x2e4]
lea edx, [ebp - 0x2c0]
xor edi, edi
lea ecx, [ebp - 0x2d4]
mov dword [ebp - 0x2d4], edi
mov dword [ebp - 0x2c0], edi
mov dword [esi + 0xe54], 0
mov dword [esi + 0xe58], 0
mov dword [esi + 0xe5c], 0
mov dword [esi + 0xe60], 0
mov dword [esi + 0xe78], 0
mov dword [esi + 0xe64], 0
mov dword [esi + 0xe7c], 0
mov dword [esi + 0xe70], 0
mov dword [esi + 0xe6c], 0
mov dword [esi + 0x860], 0
mov dword [esi + 0xf30], 0
call fcn.00488010
cmp dword [ebp - 0x2d4], 5
jne 0x44c3c5
mov eax, dword [ebp - 0x2c0]
cmp eax, 1
je 0x44c3c0
cmp eax, 2
jne 0x44c3c5
mov edi, 1
mov edx, dword [ebp - 0x70]
mov dword [esi + 0x6b4], edi
cmp edx, 0x10
jb 0x44c402
mov ecx, dword [ebp - 0x84]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c3f8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c4d4
push edx
push ecx
call fcn.005c4046
add esp, 8
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
cmp edx, 0x10
jb 0x44c451
mov ecx, dword [ebp - 0xe4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c447
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c4d9
push edx
push ecx
call fcn.005c4046
add esp, 8
mov edx, dword [ebp - 0x190]
cmp edx, 0x10
jb 0x44c487
mov ecx, dword [ebp - 0x1a4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44c47d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44c4de
push edx
push ecx
call fcn.005c4046
add esp, 8
mov eax, esi
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.005c3e3a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.006d2f99
call fcn.006d2f99
call fcn.006d2f99
call fcn.006d2f99
call fcn.006d2f99
call fcn.006d2f99
call fcn.006d2f99
call fcn.006d2f99
call fcn.006d2f99
call fcn.006d2f99
call fcn.006d2f99
call fcn.006d2f99
int3