Function at 0x49e0d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x104
mov eax, dword [0x97efc0]
xor eax, esp
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x110]
push ebx
push ebp
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x11c]
push esi
mov dword [esp + 0x44], eax
push edi
mov edi, dword [esp + 0x11c]
mov ebp, dword [esp + 0x118]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x30], edi
mov eax, dword [edi + 0x64]
mov dword [esp + 0x3c], eax
mov bl, byte [eax + 0x11]
movzx eax, bl
mov ecx, eax
mov dword [esp + 0x20], eax
movzx eax, byte [edi + 0x30]
shr ecx, 3
mov dword [esp + 0x28], eax
imul eax, ecx
mov dword [esp + 0x24], ecx
imul ecx, dword [edi + 0x18], 0x64
mov dword [esp + 0x40], eax
movzx eax, byte [ecx + 0x5237e9]
mov edx, dword [edi + eax*4 + 0x30]
movzx eax, byte [ecx + 0x5237ea]
mov dword [esp + 0x38], edx
mov eax, dword [edi + eax*4 + 0x30]
mov dword [esp + 0x44], eax
test eax, eax
je 0x49e17f
bsf ecx, eax
je 0x49e173
inc ecx
mov esi, 1
dec ecx
shl esi, cl
jmp 0x49e181
xor ecx, ecx
mov esi, 1
dec ecx
shl esi, cl
jmp 0x49e181
mov esi, edx
push edi
call fcn.004103f0
push dword [esp + 0x4c]
mov byte [esp + 0x60], bl
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x34], eax
psrldq xmm0, 0xc
movd ecx, xmm0
mov ecx, dword [ecx]
cmp dword [ecx + 0xc], 5
mov ecx, dword [edi + 0x18]
sete byte [esp + 0x54]
imul eax, ecx, 0x64
push dword [esp + 0x54]
push dword [esp + 0x50]
push dword [esp + 0x48]
push ebx
movzx eax, byte [eax + 0x5237d6]
push dword [esp + 0x58]
push ecx
movzx edi, word [edi + eax*4 + 0x30]
call dword [esp + 0x70]
mov edx, dword [esp + 0x48]
mov ebx, eax
movzx ecx, bl
add esp, 0x20
mov dword [esp + 0x10], ebx
cmp ecx, edx
jne 0x49e222
mov ecx, ebx
shr ecx, 8
movzx eax, cl
cmp eax, dword [esp + 0x20]
jne 0x49e222
shr ebx, 0x10
cmp ebx, esi
ja 0x49e222
cmp edx, 0x20
jne 0x49e208
or esi, 0xffffffff
jmp 0x49e215
mov ecx, edx
mov esi, 1
and ecx, 0x1f
shl esi, cl
dec esi
mov eax, edi
cmp eax, esi
jne 0x49e222
xor al, al
jmp 0x49e2c1
xorps xmm0, xmm0
movups xmmword [esp + 0x80], xmm0
test edx, edx
je 0x49e2a0
mov ebp, dword [esp + 0x24]
mov eax, edi
mov esi, 1
mov dword [esp + 0x34], eax
xor edi, edi
test eax, esi
je 0x49e285
lea ecx, [edi + ebp]
mov ebx, edi
lea eax, [ecx - 1]
shr ebx, 5
shr eax, 5
cmp ebx, eax
jne 0x49e281
and ecx, 0x1f
jne 0x49e262
or edx, 0xffffffff
jmp 0x49e26a
mov edx, 1
shl edx, cl
dec edx
mov ecx, edi
or eax, 0xffffffff
and ecx, 0x1f
shl eax, cl
and eax, edx
mov edx, dword [esp + 0x28]
or dword [esp + ebx*4 + 0x80], eax
mov eax, dword [esp + 0x34]
add edi, ebp
rol esi, 1
sub edx, 1
mov dword [esp + 0x28], edx
jne 0x49e242
mov ebp, dword [esp + 0x54]
nop word [eax + eax]
xor eax, eax
mov ecx, dword [esp + eax*4 + 0x80]
test ecx, ecx
jne 0x49e2da
inc eax
cmp eax, 4
jl 0x49e2a2
push dword [esp + 0x30]
call fcn.00409630
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x110]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004eec95
add esp, 0x104
ret
bsf ecx, ecx
je 0x49e2e2
inc ecx
jmp 0x49e2e4
xor ecx, ecx
shl eax, 5
add eax, ecx
je 0x49e2b3
xor esi, esi
nop dword [eax]
mov eax, dword [esp + esi*4 + 0x80]
test eax, eax
jne 0x49e305
inc esi
cmp esi, 4
jl 0x49e2f0
xor esi, esi
jmp 0x49e314
bsf eax, eax
je 0x49e30d
inc eax
jmp 0x49e30f
xor eax, eax
shl esi, 5
add esi, eax
mov ebx, dword [esp + 0x40]
lea edi, [esi - 1]
mov dword [esp + 0x28], edi
cmp esi, ebx
jae 0x49e345
mov edx, 1
mov ecx, esi
rol edx, cl
nop dword [eax]
mov eax, esi
shr eax, 5
test dword [esp + eax*4 + 0x80], edx
je 0x49e345
inc esi
rol edx, 1
cmp esi, ebx
jb 0x49e330
mov eax, dword [esp + 0x44]
xor edx, edx
mov ebx, dword [esp + 0x38]
add eax, edi
div ebx
sub esi, edi
mov dword [esp + 0x18], edx
test edx, edx
je 0x49e381
bsf ecx, edx
je 0x49e371
inc ecx
mov eax, 1
dec ecx
shl eax, cl
mov dword [esp + 0x24], eax
jmp 0x49e385
xor ecx, ecx
mov eax, 1
dec ecx
shl eax, cl
mov dword [esp + 0x24], eax
jmp 0x49e385
mov dword [esp + 0x24], ebx
push dword [esp + 0x48]
mov eax, dword [esp + 0x34]
push dword [esp + 0x50]
push edx
push ebx
push dword [esp + 0x68]
push esi
push dword [eax + 0x18]
call dword [esp + 0x6c]
mov ecx, eax
mov dword [esp + 0x2c], eax
shr ecx, 8
add esp, 0x1c
movzx edx, cl
movzx ecx, al
mov ebx, edx
shr ebx, 3
shr eax, 0x10
imul ebx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x24], eax
jb 0x49e4cd
cmp ebx, esi
ja 0x49e4cd
push edx
push ecx
lea eax, [edi*8]
push eax
push 1
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.0040fe40
mov ecx, dword [esp + 0x44]
add esp, 0x18
mov dword [esp + 0x24], eax
mov eax, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], 0
cmp byte [ecx + 0x11], 0x40
movzx esi, byte [ecx + 0x11]
jne 0x49e415
mov ecx, 0xffffffff
or edx, ecx
jmp 0x49e439
xor ecx, ecx
xor edx, edx
mov eax, esi
and eax, 0x3f
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
mov eax, dword [esp + 0x28]
cmovae edx, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
and eax, ecx
mov ecx, dword [esp + 0x20]
and ecx, edx
mov dword [esp + 0x28], eax
or eax, ecx
jne 0x49e44f
mov eax, dword [esp + 0x2c]
jmp 0x49e4a4
push esi
push ecx
push dword [esp + 0x30]
call fcn.0040fcf0
push esi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49e491
mov eax, dword [esp + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x28]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
add esp, 8
add esi, 0x18
push esi
push dword [esp + 0x30]
push 0x122
push ebp
call fcn.0041d850
add esp, 0x10
movzx ecx, byte [esp + 0x11]
push ecx
push dword [esp + 0x20]
push dword [esp + 0x2c]
push dword [esp + 0x24]
push dword [esp + 0x48]
push eax
push dword [esp + 0x48]
push ebp
call fcn.0049cb10
add esp, 0x20
jmp 0x49ef9d
mov dword [esp + 0x34], 0x42001
xor eax, eax
mov ebx, dword [esp + 0x34]
shr ebx, 0x10
add ebx, 0xffffffff
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], 0
adc eax, 0xffffffff
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x11], 0x40
movzx edi, byte [eax + 0x11]
jne 0x49e50a
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49e52a
xor ecx, ecx
xor edx, edx
mov eax, edi
and eax, 0x3f
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
mov eax, dword [esp + 0x10]
and eax, ecx
mov ecx, dword [esp + 0x1c]
and ecx, edx
mov dword [esp + 0x10], eax
or eax, ecx
jne 0x49e544
mov eax, dword [esp + 0x2c]
jmp 0x49e59a
mov eax, dword [esp + 0x10]
push edi
push ecx
push eax
call fcn.0040fcf0
push edi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], edx
call fcn.00409bc0
mov edi, eax
add esp, 0x18
test edi, edi
je 0x49e587
mov eax, dword [esp + 0x10]
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x1c]
push edi
push ebp
mov dword [edi + 0x34], eax
call fcn.0041dbe0
add esp, 8
add edi, 0x18
push edi
push dword [esp + 0x30]
push 0x122
push ebp
call fcn.0041d850
add esp, 0x10
cmp dword [esp + 0x24], 4
mov dword [esp + 0x18], eax
mov al, byte [eax + 0x11]
mov byte [esp + 0x17], al
jae 0x49e65e
cmp al, 0x40
jne 0x49e5bc
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49e5dd
xor ecx, ecx
movzx eax, al
and eax, 0x3f
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
and edx, dword [esp + 0x20]
and ecx, ebx
mov eax, ecx
or eax, edx
jne 0x49e5f0
movzx edi, byte [esp + 0x17]
jmp 0x49e661
mov al, byte [esp + 0x17]
cmp al, 0x40
jne 0x49e602
or edi, 0xffffffff
mov eax, 0xffffffff
jmp 0x49e62d
movzx eax, al
xor edi, edi
and eax, 0x3f
xor ebp, ebp
bts edi, eax
cmp eax, 0x20
cmovae ebp, edi
xor edi, ebp
mov dword [esp + 0x10], ebp
cmp eax, 0x40
mov eax, ebp
mov ebp, dword [esp + 0x54]
cmovae eax, edi
add edi, 0xffffffff
adc eax, 0xffffffff
cmp ecx, edi
jne 0x49e63b
cmp edx, eax
jne 0x49e63b
mov eax, dword [esp + 0x18]
jmp 0x49e6a8
movzx eax, byte [esp + 0x17]
push eax
push edx
push ecx
push ebp
call fcn.00410a00
push eax
push dword [esp + 0x2c]
push 0x125
push ebp
call fcn.0041d850
add esp, 0x20
jmp 0x49e6a8
movzx edi, al
push edi
push 0
push 0
call fcn.0040fcf0
push edi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], eax
call fcn.00409bc0
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x49e68d
mov dword [esp + 0x1c], eax
jmp 0x49e6ac
mov eax, dword [esp + 0x10]
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x1c]
push edi
push ebp
mov dword [edi + 0x34], eax
call fcn.0041dbe0
lea eax, [edi + 0x18]
add esp, 8
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
not ebx
mov edi, dword [esp + 0x20]
not edi
mov cl, byte [eax + 0x11]
movzx eax, cl
mov byte [esp + 0x17], cl
mov dword [esp + 0x10], eax
cmp cl, 0x40
jne 0x49e6d4
mov ecx, 0xffffffff
or edx, ecx
jmp 0x49e6fa
and eax, 0x3f
xor ecx, ecx
bts ecx, eax
xor edx, edx
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
mov eax, dword [esp + 0x10]
cmovae edx, ecx
mov dword [esp + 0x10], eax
add ecx, 0xffffffff
adc edx, 0xffffffff
and ebx, ecx
and edi, edx
mov eax, ebx
or eax, edi
jne 0x49e74a
movzx edi, byte [esp + 0x17]
push edi
push eax
push eax
call fcn.0040fcf0
push edi
push 1
push dword [ebp + 0x10]
mov ebx, eax
mov dword [esp + 0x38], edx
call fcn.00409bc0
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x49e731
mov dword [esp + 0x18], eax
jmp 0x49e7a6
mov eax, dword [esp + 0x20]
push edi
mov dword [edi + 0x30], ebx
push ebp
mov dword [edi + 0x34], eax
call fcn.0041dbe0
add esp, 8
lea eax, [edi + 0x18]
jmp 0x49e7a2
cmp byte [esp + 0x17], 0x40
jne 0x49e759
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49e77b
mov eax, dword [esp + 0x10]
xor ecx, ecx
and eax, 0x3f
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
cmp ebx, ecx
jne 0x49e783
cmp edi, edx
je 0x49e7a6
push dword [esp + 0x10]
push edi
push ebx
push ebp
call fcn.00410a00
push eax
push dword [esp + 0x2c]
push 0x125
push ebp
call fcn.0041d850
add esp, 0x20
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x28]
xor ecx, ecx
mov edx, 4
mov ebx, 4
sub edx, dword [esp + 0x24]
cmp dword [esp + 0x24], 4
lea eax, [edi*8]
cmovb ecx, edx
sub ebx, ecx
cmp esi, ebx
cmovb ebx, esi
mov dword [esp + 0x5c], ebx
lea ecx, [ebx*8]
cmp ecx, 0x18
jne 0x49e8c1
push 8
push 3
push eax
push 1
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.0040fe40
add esp, 0x18
mov dword [esp + 0x60], eax
cmp byte [eax + 0x10], 4
je 0x49e8b6
movzx esi, byte [eax + 0x11]
push esi
push 0
push 0
call fcn.0040fcf0
push esi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49e84c
mov eax, dword [esp + 0x20]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x10]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
add esp, 8
add esi, 0x18
mov ecx, dword [esp + 0x60]
xor eax, eax
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x49e878
nop word [eax + eax]
mov dword [esp + eax*8 + 0x90], ecx
mov dword [esp + eax*8 + 0x94], eax
inc eax
cmp eax, edx
jb 0x49e860
cmp eax, 4
jae 0x49e8a3
mov ecx, 3
lea edi, [esp + 0x90]
lea edi, [edi + eax*8]
sub ecx, eax
mov dword [edi], esi
mov esi, edi
shl ecx, 3
mov dword [edi + 4], 0
shr ecx, 2
add edi, 8
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x28]
push 4
lea eax, [esp + 0x94]
push eax
push ebp
call fcn.0041e300
add esp, 0xc
push 0x20
push eax
push ebp
call fcn.00411f10
jmp 0x49e8ed
push ecx
push 1
push eax
push 1
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.0040fe40
mov esi, eax
add esp, 0x18
mov dword [esp + 0x10], esi
cmp byte [esi + 0x11], 0x20
je 0x49e8f4
push esi
push 0x189
push ebp
call fcn.0041d800
mov dword [esp + 0x1c], eax
add esp, 0xc
lea ecx, [ebx*8]
mov eax, 1
shl eax, cl
dec eax
cdq
push 0x20
push edx
push eax
call fcn.0040fcf0
push 0x20
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x78], eax
mov dword [esp + 0x38], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49e945
mov eax, dword [esp + 0x60]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x20]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
add esp, 8
lea eax, [esi + 0x18]
cmp dword [esp + 0x24], 4
mov dword [esp + 0x20], eax
jae 0x49ea7a
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x11], 0x40
movzx esi, byte [eax + 0x11]
jne 0x49e9ad
mov edx, 8
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x49e97b
cmp byte [eax + 0x1e], 0
jne 0x49ea1c
mov ecx, edx
mov eax, 0
add ecx, 0xffffffff
and ecx, edx
or ecx, eax
jne 0x49ea1c
push ecx
push edx
call fcn.004611e0
dec eax
push eax
push ebp
call fcn.004109b0
push eax
push dword [esp + 0x30]
push 0x152
jmp 0x49ea30
xor edx, edx
xor ecx, ecx
mov eax, esi
and eax, 0x3f
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
add edx, 0xffffffff
adc ecx, 0xffffffff
and edx, 8
mov eax, edx
mov dword [esp + 0x64], ecx
or eax, 0
jne 0x49e967
push esi
push eax
push eax
call fcn.0040fcf0
push esi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x78], eax
mov dword [esp + 0x3c], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49ea3b
mov eax, dword [esp + 0x60]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x24]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dbe0
add esp, 8
add esi, 0x18
jmp 0x49ea3b
push esi
push 0
push edx
push ebp
call fcn.00410a00
push eax
push dword [esp + 0x30]
push 0x140
push ebp
call fcn.0041d850
mov esi, eax
add esp, 0x20
cmp byte [esi + 0x11], 0x20
je case.default.0x49ea9b
push esi
push 0x189
push ebp
call fcn.0041d800
add esp, 0xc
mov esi, eax
mov ecx, dword [esp + 0x10]
push esi
push ecx
push 0x152
push ebp
call fcn.0041d850
push esi
push dword [esp + 0x34]
mov dword [esp + 0x28], eax
push 0x152
push ebp
call fcn.0041d850
add esp, 0x20
push eax
push 0x14b
push ebp
call fcn.0041d800
mov esi, dword [esp + 0x3c]
add esp, 0xc
mov dword [esp + 0x24], eax
mov edx, dword [esi + 0x18]
movzx ecx, byte [edx + 0x49edee]
jmp dword [ecx*4 + 0x49f034]
imul ecx, edx, 0x64
push 0x24f
push dword [ebp + 0x10]
movzx ecx, byte [ecx + 0x5237e6]
mov ebx, dword [esi + ecx*4 + 0x30]
mov esi, dword [esi + 0x74]
call fcn.00409a10
mov edi, eax
push 0x20
push 1
lea ecx, [edi + 0x1c]
push ecx
push edi
call fcn.00407ec0
mov eax, dword [esp + 0x30]
xorps xmm0, xmm0
movups xmmword [esp + 0x78], xmm0
mov dword [esp + 0x84], esi
movups xmm0, xmmword [esp + 0x78]
push edi
push ebp
movups xmmword [edi + 0x58], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x80], xmm0
mov dword [esp + 0x8c], eax
movups xmm0, xmmword [esp + 0x80]
mov eax, dword [esp + 0x44]
movups xmmword [edi + 0x68], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x80], xmm0
mov dword [esp + 0x8c], eax
imul eax, dword [edi + 0x18], 0x64
movups xmm0, xmmword [esp + 0x80]
movups xmmword [edi + 0x78], xmm0
movzx eax, byte [eax + 0x5237e6]
mov dword [edi + eax*4 + 0x30], ebx
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x523806]
mov dword [edi + eax*4 + 0x30], 5
call fcn.0041dbe0
mov ecx, dword [esp + 0x50]
push 0x24f
push dword [ebp + 0x10]
imul eax, dword [ecx + 0x18], 0x64
mov esi, dword [ecx + 0x74]
movzx eax, byte [eax + 0x5237e6]
mov ebx, dword [ecx + eax*4 + 0x30]
call fcn.00409a10
mov edi, eax
push 0x20
push 1
lea ecx, [edi + 0x1c]
push ecx
push edi
call fcn.00407ec0
mov eax, dword [esp + 0x50]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x48]
movups xmmword [esp + 0x98], xmm0
mov dword [esp + 0xa4], esi
movups xmm0, xmmword [esp + 0x98]
push edi
push ebp
movups xmmword [edi + 0x58], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0xa0], xmm0
mov dword [esp + 0xac], eax
movups xmm0, xmmword [esp + 0xa0]
imul eax, dword [edi + 0x18], 0x64
movups xmmword [edi + 0x68], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0xa0], xmm0
mov dword [esp + 0xac], ecx
movups xmm0, xmmword [esp + 0xa0]
movups xmmword [edi + 0x78], xmm0
movzx eax, byte [eax + 0x5237e6]
mov dword [edi + eax*4 + 0x30], ebx
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x523806]
mov dword [edi + eax*4 + 0x30], 6
call fcn.0041dbe0
mov ebx, dword [esp + 0x9c]
add esp, 0x40
jmp 0x49ef99
push 0x81
push dword [ebp + 0x10]
call fcn.00409a10
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407ec0
mov eax, dword [esp + 0x30]
xorps xmm0, xmm0
movups xmmword [esp + 0x78], xmm0
mov dword [esp + 0x84], eax
movups xmm0, xmmword [esp + 0x78]
mov eax, dword [esp + 0x3c]
push esi
movups xmmword [esi + 0x58], xmm0
push ebp
xorps xmm0, xmm0
movups xmmword [esp + 0x80], xmm0
mov dword [esp + 0x8c], eax
imul eax, dword [esi + 0x18], 0x64
movups xmm0, xmmword [esp + 0x80]
movups xmmword [esi + 0x68], xmm0
movzx eax, byte [eax + 0x523806]
mov dword [esi + eax*4 + 0x30], 5
call fcn.0041dbe0
push 0x81
push dword [ebp + 0x10]
call fcn.00409a10
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407ec0
mov eax, dword [esp + 0x50]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x48]
movups xmmword [esp + 0x98], xmm0
mov dword [esp + 0xa4], eax
movups xmm0, xmmword [esp + 0x98]
push esi
imul eax, dword [esi + 0x18], 0x64
movups xmmword [esi + 0x58], xmm0
push ebp
xorps xmm0, xmm0
movups xmmword [esp + 0xa0], xmm0
mov dword [esp + 0xac], ecx
movups xmm0, xmmword [esp + 0xa0]
movups xmmword [esi + 0x68], xmm0
movzx eax, byte [eax + 0x523806]
mov dword [esi + eax*4 + 0x30], 6
call fcn.0041dbe0
add esp, 0x40
jmp 0x49ef9d
imul eax, edx, 0x64
push 0x246
push dword [ebp + 0x10]
movzx eax, byte [eax + 0x5237d5]
mov edi, dword [esi + eax*4 + 0x30]
call fcn.00409a10
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407ec0
mov eax, dword [esp + 0x30]
xorps xmm0, xmm0
movups xmmword [esp + 0x78], xmm0
mov dword [esp + 0x84], eax
movups xmm0, xmmword [esp + 0x78]
mov eax, dword [esp + 0x3c]
push esi
movups xmmword [esi + 0x58], xmm0
push ebp
xorps xmm0, xmm0
movups xmmword [esp + 0x80], xmm0
mov dword [esp + 0x8c], eax
imul eax, dword [esi + 0x18], 0x64
movups xmm0, xmmword [esp + 0x80]
movups xmmword [esi + 0x68], xmm0
movzx eax, byte [eax + 0x5237d5]
mov dword [esi + eax*4 + 0x30], edi
imul eax, dword [esi + 0x18], 0x64
movzx eax, byte [eax + 0x523806]
mov dword [esi + eax*4 + 0x30], 5
call fcn.0041dbe0
mov ecx, dword [esp + 0x50]
push 0x246
push dword [ebp + 0x10]
imul eax, dword [ecx + 0x18], 0x64
movzx eax, byte [eax + 0x5237d5]
mov edi, dword [ecx + eax*4 + 0x30]
call fcn.00409a10
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407ec0
mov eax, dword [esp + 0x50]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x48]
movups xmmword [esp + 0x98], xmm0
mov dword [esp + 0xa4], eax
movups xmm0, xmmword [esp + 0x98]
push esi
imul eax, dword [esi + 0x18], 0x64
movups xmmword [esi + 0x58], xmm0
push ebp
xorps xmm0, xmm0
movups xmmword [esp + 0xa0], xmm0
mov dword [esp + 0xac], ecx
movups xmm0, xmmword [esp + 0xa0]
movups xmmword [esi + 0x68], xmm0
movzx eax, byte [eax + 0x5237d5]
mov dword [esi + eax*4 + 0x30], edi
imul eax, dword [esi + 0x18], 0x64
movzx eax, byte [eax + 0x523806]
mov dword [esi + eax*4 + 0x30], 6
call fcn.0041dbe0
add esp, 0x40
jmp 0x49ef99
push 0x1af
push dword [ebp + 0x10]
xorps xmm0, xmm0
movq qword [esp + 0x68], xmm0
call fcn.00409a10
mov esi, eax
push 0x20
push 1
lea edi, [esi + 0x1c]
mov byte [esi + 0x30], 1
push edi
push esi
call fcn.00407ec0
mov eax, dword [esp + 0x30]
xorps xmm0, xmm0
movups xmmword [esp + 0x78], xmm0
mov dword [esp + 0x84], eax
movups xmm0, xmmword [esp + 0x78]
push esi
push ebp
movups xmmword [esi + 0x58], xmm0
movzx ecx, byte [esi + 0x2d]
imul eax, dword [esi + 0x18], 0x64
shr ecx, 3
movzx eax, byte [eax + 0x5237e9]
mov dword [esi + eax*4 + 0x30], ecx
imul eax, dword [esi + 0x18], 0x64
movzx eax, byte [eax + 0x5237ea]
mov dword [esi + eax*4 + 0x30], 0
call fcn.0041dbe0
mov eax, dword [esp + 0x44]
push eax
push edi
push 0x125
push ebp
call fcn.0041d850
mov ecx, dword [esp + 0x40]
push ecx
push eax
push 0x14f
push ebp
call fcn.0041d850
add esp, 0x40
xorps xmm0, xmm0
mov edi, eax
movups xmmword [esp + 0x70], xmm0
push 0x26b
push dword [ebp + 0x10]
call fcn.00409a10
mov cl, byte [edi + 0x10]
xorps xmm0, xmm0
movups xmmword [esp + 0x68], xmm0
mov edx, eax
mov dword [esp + 0x74], edi
movups xmm0, xmmword [esp + 0x68]
mov eax, dword [esp + 0x20]
add esp, 8
mov byte [edx + 0x30], cl
movups xmmword [edx + 0x58], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0x6c], eax
movups xmm0, xmmword [esp + 0x60]
movups xmmword [edx + 0x68], xmm0
cmp cl, 0x20
jne 0x49ef46
or esi, 0xffffffff
jmp 0x49ef54
movzx ecx, cl
mov esi, 1
and ecx, 0x1f
shl esi, cl
dec esi
imul eax, dword [edx + 0x18], 0x64
movzx ecx, byte [edi + 0x11]
shr ecx, 3
push edx
push ebp
movzx eax, byte [eax + 0x5237e9]
mov dword [edx + eax*4 + 0x30], ecx
imul eax, dword [edx + 0x18], 0x64
movzx ecx, byte [eax + 0x5237ea]
mov eax, dword [esp + 0x80]
mov dword [edx + ecx*4 + 0x30], eax
imul eax, dword [edx + 0x18], 0x64
movzx eax, byte [eax + 0x5237d6]
mov dword [edx + eax*4 + 0x30], esi
call fcn.0041dbe0
add esp, 8
mov edi, dword [esp + 0x28]
mov esi, edi
lea ecx, [ebx + edi]
and esi, 0x1f
lea ebx, [ecx - 1]
mov eax, esi
sub eax, edi
add eax, ecx
cmp eax, 0x20
ja 0x49efff
shr edi, 5
shr ebx, 5
cmp edi, ebx
jne 0x49e2a0
and ecx, 0x1f
jne 0x49efe0
or eax, 0xffffffff
mov ecx, esi
shl eax, cl
or edx, 0xffffffff
and eax, edx
not eax
and dword [esp + edi*4 + 0x80], eax
jmp 0x49e2a0
mov edx, 1
or eax, 0xffffffff
shl edx, cl
mov ecx, esi
shl eax, cl
dec edx
and eax, edx
not eax
and dword [esp + edi*4 + 0x80], eax
jmp 0x49e2a0
mov eax, 0x20
sub eax, esi
lea esi, [eax + edi]
lea eax, [esi - 1]
push eax
lea eax, [esp + 0x84]
push edi
push eax
call fcn.0049ca80
push ebx
lea eax, [esp + 0x90]
push esi
push eax
call fcn.0049ca80
add esp, 0x18
jmp 0x49e2a0