Function at 0x448660
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

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 0x824199
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x188
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 esi, ecx
mov dword [ebp - 0x168], esi
mov eax, dword [esi + 0xc]
mov dword [esi + 0x18], 1
test eax, eax
jne 0x4486c7
call fcn.006753a0
mov dword [esi + 0xc], eax
test eax, eax
je 0x4494ea
mov eax, dword [0x181dbec]
mov ecx, esi
cmp dword [eax + 0x784], 0
je 0x4486ea
push 0
mov dword [0x181dbdc], 1
push 5
jmp 0x4494f3
call fcn.00448330
lea edi, [esi + 0x88]
xorps xmm0, xmm0
comisd xmm0, xmmword [edi]
jb 0x448772
add esi, 0x28
cmp dword [esi + 0x14], 8
jb 0x448709
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x50]
call fcn.0040ec50
sub esp, 0x18
mov dword [ebp - 4], 0
mov eax, esp
lea ecx, [ebp - 0x50]
push ecx
push eax
call fcn.00447820
call fcn.00448040
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x3c]
movsd qword [edi], xmm0
cmp edx, 8
jb 0x448772
mov ecx, dword [ebp - 0x50]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x448768
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x449516
push edx
push ecx
call fcn.005c4046
add esp, 8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x15c], edi
xor edi, edi
mov dword [ebp - 0x160], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0x164], ecx
test ecx, ecx
je 0x4487f2
mov eax, dword [ebp - 0x15c]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x4487c6
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0x164]
jne 0x4487b6
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 0x8ec4c73b
mov eax, dword [ebp - 0x160]
je 0x4487f6
mov eax, dword [eax]
jmp 0x44877e
mov esi, dword [eax + 0x18]
mov eax, dword [0x181e09c]
mov dword [ebp - 0x164], esi
test eax, eax
jne 0x4488d6
test esi, esi
je 0x4488cf
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x184], eax
xor eax, eax
mov dword [ebp - 0x160], ecx
cmp ecx, esi
je 0x4488d1
mov dword [ebp - 0x15c], eax
cmp dword [ecx + 0x18], eax
je 0x4488cf
mov edi, dword [ecx + 0x20]
add edi, esi
nop dword [eax + eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x44888b
mov al, cl
sub al, 0x41
cmp al, 0x19
movsx eax, cl
ja 0x44886e
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x448860
cmp esi, 0xaeae5d63
je 0x4488a8
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x160]
inc eax
add edi, 4
mov dword [ebp - 0x15c], eax
cmp eax, dword [ecx + 0x18]
je 0x4488cf
mov esi, dword [ebp - 0x164]
jmp 0x448850
mov eax, dword [ebp - 0x160]
mov esi, dword [ebp - 0x164]
mov edx, dword [ebp - 0x15c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x4488d1
xor eax, eax
mov dword [0x181e09c], eax
mov esi, dword [ebp - 0x168]
cmp dword [esi + 0x84], 0x10
lea edi, [esi + 0x70]
mov dword [ebp - 0x174], edi
mov ecx, edi
jb 0x4488f2
mov ecx, dword [edi]
push ecx
call eax
test eax, eax
je 0x448aad
sub esp, 0x18
mov ecx, esp
push edi
call fcn.00405e20
call fcn.0041dda0
add esp, 0x18
ucomisd xmm0, qword [esi + 0x88]
lahf
test ah, 0x44
jp 0x448931
mov dword [0x181dbdc], 1
push 0
push 5
jmp 0x4494f1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, word [eax + 0x2c]
mov edi, 0x811c9dc5
mov esi, dword [eax + 0x30]
and ecx, 0xfffffffe
mov dword [ebp - 0x15c], edi
xor edi, edi
mov dword [ebp - 0x164], eax
lea edx, [ecx + esi]
inc ecx
shr ecx, 1
cmp esi, edx
cmova ecx, edi
mov dword [ebp - 0x160], ecx
test ecx, ecx
je 0x4489b1
mov eax, dword [ebp - 0x15c]
mov dl, byte [esi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x448985
or ecx, 0x20
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
add esi, 2
cmp edi, dword [ebp - 0x160]
jne 0x448975
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 0xa3e6f6c3
mov eax, dword [ebp - 0x164]
je 0x4489b5
mov eax, dword [eax]
jmp 0x44893d
mov esi, dword [eax + 0x18]
mov eax, dword [0x181e0a0]
mov dword [ebp - 0x160], esi
test eax, eax
jne 0x448a96
test esi, esi
je 0x448a8f
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
add ecx, esi
mov dword [ebp - 0x184], eax
xor eax, eax
mov dword [ebp - 0x164], ecx
cmp ecx, esi
je 0x448a91
mov dword [ebp - 0x15c], eax
cmp dword [ecx + 0x18], eax
je 0x448a8f
mov edi, dword [ecx + 0x20]
add edi, esi
nop word [eax + eax]
mov edx, dword [edi]
add edx, esi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x448a4b
mov al, cl
sub al, 0x41
cmp al, 0x19
movsx eax, cl
ja 0x448a2e
or eax, 0x20
mov cl, byte [edx]
xor eax, esi
imul esi, eax, 0x1000193
inc edx
test cl, cl
jne 0x448a20
cmp esi, 0x677a31d7
je 0x448a68
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x164]
inc eax
add edi, 4
mov dword [ebp - 0x15c], eax
cmp eax, dword [ecx + 0x18]
je 0x448a8f
mov esi, dword [ebp - 0x160]
jmp 0x448a10
mov eax, dword [ebp - 0x164]
mov esi, dword [ebp - 0x160]
mov edx, dword [ebp - 0x15c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x448a91
xor eax, eax
mov dword [0x181e0a0], eax
mov ecx, dword [ebp - 0x174]
cmp dword [ecx + 0x14], 0x10
jb 0x448aa4
mov ecx, dword [ecx]
push ecx
call eax
mov esi, dword [ebp - 0x168]
movsd xmm4, qword [esi + 0x88]
xorps xmm0, xmm0
comisd xmm0, xmm4
jb 0x448ac8
push 0x82
jmp 0x4494ef
cmp dword [esi + 0x68], 0
lea edi, [esi + 0x58]
mov edx, dword [0x1817094]
mov dword [ebp - 0x184], edi
jne 0x448d7f
movups xmm0, xmmword [0x900c04]
movups xmmword [ebp - 0x24], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x448c90
xor ecx, ecx
mov dword [ebp - 0x15c], ecx
cmp edx, 2
jl 0x448c53
movaps xmm5, xmmword [0x9046b0]
mov eax, 5
movaps xmm3, xmmword [0x904770]
movaps xmm7, xmmword [0x9046e0]
movd xmm6, eax
mov eax, 0x1f
movd xmm0, eax
movups xmmword [ebp - 0x50], xmm0
movaps xmm0, xmmword [0x904730]
movaps xmmword [ebp - 0x180], xmm0
mov edx, dword [ebp - 0x180]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm5
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, xmm6
movaps xmm0, xmm1
psrld xmm0, xmmword [ebp - 0x50]
paddd xmm0, xmm1
pmulld xmm0, xmm7
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 - 0x24]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x24], xmm1
paddd xmm2, xmm5
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, xmm6
movaps xmm0, xmm1
psrld xmm0, xmmword [ebp - 0x50]
paddd xmm0, xmm1
pmulld xmm0, xmm7
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 - 0x20]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0x20], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x448b50
jmp 0x448c90
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 - 0x15c]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x15c]
add al, 0x35
xor byte [ebp + ecx - 0x24], al
inc ecx
mov dword [ebp - 0x15c], ecx
cmp ecx, 0x10
jl 0x448c53
sub esp, 8
lea eax, [ebp - 0x24]
movsd qword [esp], xmm4
push dword [esi + 0x24]
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.004159c0
add esp, 0x14
lea ecx, [esi + 0x40]
mov dword [ebp - 4], 1
cmp dword [ecx + 0x14], 0x10
mov edx, dword [ecx + 0x10]
jb 0x448cc3
mov ecx, dword [ecx]
push edx
push ecx
push 0
mov ecx, eax
call fcn.004496d0
mov ecx, edi
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x98], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x98]
push eax
movq qword [ebp - 0x88], xmm0
call fcn.004053d0
mov edx, dword [ebp - 0x84]
cmp edx, 0x10
jb 0x448d3e
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x448d34
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44951b
push edx
push ecx
call fcn.005c4046
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xcc]
cmp edx, 0x10
jb 0x448d7f
mov ecx, dword [ebp - 0xe0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x448d75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x449520
push edx
push ecx
call fcn.005c4046
add esp, 8
sub esp, 0x18
mov ecx, esp
push edi
call fcn.00405e20
call fcn.0041dda0
add esp, 0x18
movsd qword [esi + 0x10], xmm0
comisd xmm0, xmmword [esi + 0x88]
lea edi, [esi + 0x10]
jae 0x44891e
cmp byte [0x900c03], 0
mov eax, dword [0x900c00]
mov dword [ebp - 0x15c], eax
je 0x448ea7
xor ecx, ecx
cmp dword [0x1817094], 2
mov dword [ebp - 0x160], ecx
jl 0x448e67
movups xmm3, xmmword [0x9046b0]
mov ecx, 5
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x904770]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x904770]
shufps xmm2, xmm0, 0xdd
movd xmm0, ecx
paddd xmm2, xmm3
psrad xmm2, xmm0
mov ecx, 0x1f
movaps xmm1, xmm2
movd xmm0, ecx
psrld xmm1, xmm0
paddd xmm1, xmm2
pmulld xmm1, xmmword [0x9046e0]
psubd xmm3, xmm1
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
pand xmm1, xmmword [0x904720]
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x904730]
movd xmm0, eax
pxor xmm1, xmm0
movd dword [ebp - 0x15c], xmm1
jmp 0x448ea7
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 - 0x160]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x160]
add al, 0x35
xor byte [ebp + ecx - 0x15c], al
inc ecx
mov dword [ebp - 0x160], ecx
cmp ecx, 4
jl 0x448e67
cmp dword [esi + 0x6c], 0x10
lea eax, [esi + 0x58]
jb 0x448eb3
mov eax, dword [esi + 0x58]
lea ecx, [ebp - 0x15c]
push ecx
push eax
call fcn.006de016
add esp, 8
mov dword [esi], eax
test eax, eax
jne 0x448ed3
push 0x81
jmp 0x4494ef
cmp dword [esi + 0x3c], 8
lea eax, [esi + 0x24]
mov dword [ebp - 0x198], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x194], eax
lea eax, [esi + 0x88]
mov dword [ebp - 0x190], eax
lea eax, [esi + 0x28]
mov dword [ebp - 0x18c], edi
jb 0x448f02
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xb0]
call fcn.0040ec50
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 2
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.00447820
cmp dword [eax + 0x14], 0x10
jb 0x448f2d
mov eax, dword [eax]
push eax
push 0x2712
push dword [esi + 0xc]
call fcn.00678950
mov edx, dword [ebp - 0x54]
add esp, 0xc
cmp edx, 0x10
jb 0x448f72
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x448f68
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x449525
push edx
push ecx
call fcn.005c4046
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
cmp edx, 8
jb 0x448fcb
mov ecx, dword [ebp - 0xb0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x448fc1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44952a
push edx
push ecx
call fcn.005c4046
add esp, 8
push 0
push 0xd
push dword [esi + 0xc]
call fcn.00678950
push 0x258
push 0x4e
push dword [esi + 0xc]
call fcn.00678950
push esi
push 0x2711
push dword [esi + 0xc]
call fcn.00678950
push 0x4470d0
push 0x4e2b
push dword [esi + 0xc]
call fcn.00678950
push 0
push 0x2b
push dword [esi + 0xc]
call fcn.00678950
push 0x447100
push 0x4e58
push dword [esi + 0xc]
call fcn.00678950
add esp, 0x48
lea eax, [ebp - 0x198]
push eax
push 0x2749
push dword [esi + 0xc]
call fcn.00678950
cvttsd2si eax, qword [edi]
push eax
push 0x15
push dword [esi + 0xc]
call fcn.00678950
push 0
push 0x40
push dword [esi + 0xc]
call fcn.00678950
push 0
push 0x51
push dword [esi + 0xc]
call fcn.00678950
push 1
push 0x34
push dword [esi + 0xc]
call fcn.00678950
add esp, 0x3c
cmp dword [esi + 0xd8], 0
je 0x449158
cmp dword [esi + 0xdc], 8
lea eax, [esi + 0xc8]
jb 0x44908f
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xc8]
call fcn.0040ec50
lea eax, [ebp - 0xc8]
mov dword [ebp - 4], 3
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00447820
cmp dword [eax + 0x14], 0x10
jb 0x4490ba
mov eax, dword [eax]
push eax
push 0x2720
push dword [esi + 0xc]
call fcn.00678950
mov edx, dword [ebp - 0x6c]
add esp, 0xc
cmp edx, 0x10
jb 0x4490ff
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4490f5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44952f
push edx
push ecx
call fcn.005c4046
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
cmp edx, 8
jb 0x449158
mov ecx, dword [ebp - 0xc8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44914e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x449534
push edx
push ecx
call fcn.005c4046
add esp, 8
mov ecx, 0x1d
lea edi, [ebp - 0x158]
mov esi, 0x8ffdc8
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
cmp dword [0x1817094], 2
mov dword [ebp - 0x15c], ecx
jl 0x4492d6
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 - 0x180], xmm0
mov edx, dword [ebp - 0x180]
movd xmm7, eax
nop word [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 - 0x158]
pxor xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [ebp + ecx - 0x158], 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 - 0x154]
pxor xmm1, xmm0
movd dword [ebp + ecx - 0x154], xmm1
add ecx, 8
cmp ecx, 0x70
jl 0x4491c0
mov dword [ebp - 0x15c], ecx
cmp ecx, 0x74
jge 0x449316
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 - 0x15c]
shl cl, 3
sub al, cl
mov ecx, dword [ebp - 0x15c]
add al, 0x35
xor byte [ebp + ecx - 0x158], al
inc ecx
mov dword [ebp - 0x15c], ecx
cmp ecx, 0x74
jl 0x4492d6
mov esi, dword [ebp - 0x168]
lea eax, [ebp - 0x158]
push eax
push 0x2722
push dword [esi + 0xc]
call fcn.00678950
push dword [esi + 0xc]
call fcn.006753e0
push dword [esi]
mov edi, eax
call fcn.006d948d
add esp, 0x14
test edi, edi
je 0x448928
cmp edi, 0x17
jne 0x4494e7
cmp dword [esi + 0x18], 3
jne 0x4494e3
cmp dword [esi + 0x68], 0
je 0x4494e3
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
movzx edx, word [eax + 0x2c]
mov esi, 0x811c9dc5
mov edi, dword [eax + 0x30]
and edx, 0xfffffffe
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], 0
lea ecx, [edx + edi]
inc edx
shr edx, 1
cmp edi, ecx
cmova edx, dword [ebp - 0x174]
mov dword [ebp - 0x174], edx
test edx, edx
je 0x4493f2
mov eax, dword [ebp - 0x160]
nop dword [eax]
mov dl, byte [edi]
lea ecx, [edx - 0x41]
cmp cl, 0x19
movsx ecx, dl
ja 0x4493d0
or ecx, 0x20
xor esi, ecx
inc eax
imul esi, esi, 0x1000193
add edi, 2
cmp eax, dword [ebp - 0x174]
jne 0x4493c0
mov eax, dword [ebp - 0x164]
cmp esi, 0xa3e6f6c3
je 0x4493f9
mov eax, dword [eax]
jmp 0x449375
mov esi, dword [eax + 0x18]
mov eax, dword [0x181e0a0]
mov dword [ebp - 0x15c], esi
test eax, eax
jne 0x4494cc
test esi, esi
je 0x4494c5
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
xor eax, eax
add ecx, esi
mov dword [ebp - 0x164], ecx
cmp ecx, esi
je 0x4494c7
mov dword [ebp - 0x160], eax
cmp dword [ecx + 0x18], eax
je 0x4494c5
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 0x44947f
mov al, cl
sub al, 0x41
cmp al, 0x19
movsx eax, cl
ja 0x449462
or eax, 0x20
mov cl, byte [edx]
xor esi, eax
imul esi, esi, 0x1000193
inc edx
test cl, cl
jne 0x449454
cmp esi, 0x677a31d7
je 0x44949c
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x164]
inc eax
add edi, 4
mov dword [ebp - 0x160], eax
cmp eax, dword [ecx + 0x18]
je 0x4494c5
mov esi, dword [ebp - 0x15c]
jmp 0x449444
mov esi, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x160]
mov edx, dword [ebp - 0x15c]
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 0x4494c7
xor eax, eax
mov dword [0x181e0a0], eax
mov ecx, dword [ebp - 0x184]
cmp dword [ecx + 0x14], 0x10
jb 0x4494da
mov ecx, dword [ecx]
push ecx
call eax
mov esi, dword [ebp - 0x168]
push 0x17
jmp 0x4494ef
push edi
jmp 0x4494ef
push 0x80
push 4
mov ecx, esi
call fcn.00447be0
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
int3