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

Disassembly:
sub esp, 0x104
mov eax, dword [0x97ffc0]
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 + 0x523841]
mov edx, dword [edi + eax*4 + 0x30]
movzx eax, byte [ecx + 0x523842]
mov dword [esp + 0x38], edx
mov eax, dword [edi + eax*4 + 0x30]
mov dword [esp + 0x44], eax
test eax, eax
je 0x49e22f
bsf ecx, eax
je 0x49e223
inc ecx
mov esi, 1
dec ecx
shl esi, cl
jmp 0x49e231
xor ecx, ecx
mov esi, 1
dec ecx
shl esi, cl
jmp 0x49e231
mov esi, edx
push edi
call fcn.00410420
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 + 0x52382e]
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 0x49e2d2
mov ecx, ebx
shr ecx, 8
movzx eax, cl
cmp eax, dword [esp + 0x20]
jne 0x49e2d2
shr ebx, 0x10
cmp ebx, esi
ja 0x49e2d2
cmp edx, 0x20
jne 0x49e2b8
or esi, 0xffffffff
jmp 0x49e2c5
mov ecx, edx
mov esi, 1
and ecx, 0x1f
shl esi, cl
dec esi
mov eax, edi
cmp eax, esi
jne 0x49e2d2
xor al, al
jmp 0x49e371
xorps xmm0, xmm0
movups xmmword [esp + 0x80], xmm0
test edx, edx
je 0x49e350
mov ebp, dword [esp + 0x24]
mov eax, edi
mov esi, 1
mov dword [esp + 0x34], eax
xor edi, edi
test eax, esi
je 0x49e335
lea ecx, [edi + ebp]
mov ebx, edi
lea eax, [ecx - 1]
shr ebx, 5
shr eax, 5
cmp ebx, eax
jne 0x49e331
and ecx, 0x1f
jne 0x49e312
or edx, 0xffffffff
jmp 0x49e31a
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 0x49e2f2
mov ebp, dword [esp + 0x54]
nop word [eax + eax]
xor eax, eax
mov ecx, dword [esp + eax*4 + 0x80]
test ecx, ecx
jne 0x49e38a
inc eax
cmp eax, 4
jl 0x49e352
push dword [esp + 0x30]
call fcn.00409650
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x110]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004eee05
add esp, 0x104
ret
bsf ecx, ecx
je 0x49e392
inc ecx
jmp 0x49e394
xor ecx, ecx
shl eax, 5
add eax, ecx
je 0x49e363
xor esi, esi
nop dword [eax]
mov eax, dword [esp + esi*4 + 0x80]
test eax, eax
jne 0x49e3b5
inc esi
cmp esi, 4
jl 0x49e3a0
xor esi, esi
jmp 0x49e3c4
bsf eax, eax
je 0x49e3bd
inc eax
jmp 0x49e3bf
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 0x49e3f5
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 0x49e3f5
inc esi
rol edx, 1
cmp esi, ebx
jb 0x49e3e0
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 0x49e431
bsf ecx, edx
je 0x49e421
inc ecx
mov eax, 1
dec ecx
shl eax, cl
mov dword [esp + 0x24], eax
jmp 0x49e435
xor ecx, ecx
mov eax, 1
dec ecx
shl eax, cl
mov dword [esp + 0x24], eax
jmp 0x49e435
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 0x49e57d
cmp ebx, esi
ja 0x49e57d
push edx
push ecx
lea eax, [edi*8]
push eax
push 1
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.0040fe70
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 0x49e4c5
mov ecx, 0xffffffff
or edx, ecx
jmp 0x49e4e9
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 0x49e4ff
mov eax, dword [esp + 0x2c]
jmp 0x49e554
push esi
push ecx
push dword [esp + 0x30]
call fcn.0040fd20
push esi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49e541
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.0041dc20
add esp, 8
add esi, 0x18
push esi
push dword [esp + 0x30]
push 0x122
push ebp
call fcn.0041d890
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.0049cbc0
add esp, 0x20
jmp 0x49f04d
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 0x49e5ba
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49e5da
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 0x49e5f4
mov eax, dword [esp + 0x2c]
jmp 0x49e64a
mov eax, dword [esp + 0x10]
push edi
push ecx
push eax
call fcn.0040fd20
push edi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], edx
call fcn.00409be0
mov edi, eax
add esp, 0x18
test edi, edi
je 0x49e637
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.0041dc20
add esp, 8
add edi, 0x18
push edi
push dword [esp + 0x30]
push 0x122
push ebp
call fcn.0041d890
add esp, 0x10
cmp dword [esp + 0x24], 4
mov dword [esp + 0x18], eax
mov al, byte [eax + 0x11]
mov byte [esp + 0x17], al
jae 0x49e70e
cmp al, 0x40
jne 0x49e66c
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49e68d
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 0x49e6a0
movzx edi, byte [esp + 0x17]
jmp 0x49e711
mov al, byte [esp + 0x17]
cmp al, 0x40
jne 0x49e6b2
or edi, 0xffffffff
mov eax, 0xffffffff
jmp 0x49e6dd
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 0x49e6eb
cmp edx, eax
jne 0x49e6eb
mov eax, dword [esp + 0x18]
jmp 0x49e758
movzx eax, byte [esp + 0x17]
push eax
push edx
push ecx
push ebp
call fcn.00410a30
push eax
push dword [esp + 0x2c]
push 0x125
push ebp
call fcn.0041d890
add esp, 0x20
jmp 0x49e758
movzx edi, al
push edi
push 0
push 0
call fcn.0040fd20
push edi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], eax
call fcn.00409be0
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x49e73d
mov dword [esp + 0x1c], eax
jmp 0x49e75c
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.0041dc20
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 0x49e784
mov ecx, 0xffffffff
or edx, ecx
jmp 0x49e7aa
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 0x49e7fa
movzx edi, byte [esp + 0x17]
push edi
push eax
push eax
call fcn.0040fd20
push edi
push 1
push dword [ebp + 0x10]
mov ebx, eax
mov dword [esp + 0x38], edx
call fcn.00409be0
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x49e7e1
mov dword [esp + 0x18], eax
jmp 0x49e856
mov eax, dword [esp + 0x20]
push edi
mov dword [edi + 0x30], ebx
push ebp
mov dword [edi + 0x34], eax
call fcn.0041dc20
add esp, 8
lea eax, [edi + 0x18]
jmp 0x49e852
cmp byte [esp + 0x17], 0x40
jne 0x49e809
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49e82b
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 0x49e833
cmp edi, edx
je 0x49e856
push dword [esp + 0x10]
push edi
push ebx
push ebp
call fcn.00410a30
push eax
push dword [esp + 0x2c]
push 0x125
push ebp
call fcn.0041d890
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 0x49e971
push 8
push 3
push eax
push 1
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.0040fe70
add esp, 0x18
mov dword [esp + 0x60], eax
cmp byte [eax + 0x10], 4
je 0x49e966
movzx esi, byte [eax + 0x11]
push esi
push 0
push 0
call fcn.0040fd20
push esi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49e8fc
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.0041dc20
add esp, 8
add esi, 0x18
mov ecx, dword [esp + 0x60]
xor eax, eax
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x49e928
nop word [eax + eax]
mov dword [esp + eax*8 + 0x90], ecx
mov dword [esp + eax*8 + 0x94], eax
inc eax
cmp eax, edx
jb 0x49e910
cmp eax, 4
jae 0x49e953
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.0041e340
add esp, 0xc
push 0x20
push eax
push ebp
call fcn.00411f40
jmp 0x49e99d
push ecx
push 1
push eax
push 1
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.0040fe70
mov esi, eax
add esp, 0x18
mov dword [esp + 0x10], esi
cmp byte [esi + 0x11], 0x20
je 0x49e9a4
push esi
push 0x189
push ebp
call fcn.0041d840
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.0040fd20
push 0x20
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x78], eax
mov dword [esp + 0x38], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49e9f5
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.0041dc20
add esp, 8
lea eax, [esi + 0x18]
cmp dword [esp + 0x24], 4
mov dword [esp + 0x20], eax
jae 0x49eb2a
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x11], 0x40
movzx esi, byte [eax + 0x11]
jne 0x49ea5d
mov edx, 8
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x49ea2b
cmp byte [eax + 0x1e], 0
jne 0x49eacc
mov ecx, edx
mov eax, 0
add ecx, 0xffffffff
and ecx, edx
or ecx, eax
jne 0x49eacc
push ecx
push edx
call fcn.004612d0
dec eax
push eax
push ebp
call fcn.004109e0
push eax
push dword [esp + 0x30]
push 0x152
jmp 0x49eae0
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 0x49ea17
push esi
push eax
push eax
call fcn.0040fd20
push esi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x78], eax
mov dword [esp + 0x3c], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49eaeb
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.0041dc20
add esp, 8
add esi, 0x18
jmp 0x49eaeb
push esi
push 0
push edx
push ebp
call fcn.00410a30
push eax
push dword [esp + 0x30]
push 0x140
push ebp
call fcn.0041d890
mov esi, eax
add esp, 0x20
cmp byte [esi + 0x11], 0x20
je case.default.0x49eb4b
push esi
push 0x189
push ebp
call fcn.0041d840
add esp, 0xc
mov esi, eax
mov ecx, dword [esp + 0x10]
push esi
push ecx
push 0x152
push ebp
call fcn.0041d890
push esi
push dword [esp + 0x34]
mov dword [esp + 0x28], eax
push 0x152
push ebp
call fcn.0041d890
add esp, 0x20
push eax
push 0x14b
push ebp
call fcn.0041d840
mov esi, dword [esp + 0x3c]
add esp, 0xc
mov dword [esp + 0x24], eax
mov edx, dword [esi + 0x18]
movzx ecx, byte [edx + 0x49ee9d]
jmp dword [ecx*4 + 0x49f0e4]
imul ecx, edx, 0x64
push 0x250
push dword [ebp + 0x10]
movzx ecx, byte [ecx + 0x52383e]
mov ebx, dword [esi + ecx*4 + 0x30]
mov esi, dword [esi + 0x74]
call fcn.00409a30
mov edi, eax
push 0x20
push 1
lea ecx, [edi + 0x1c]
push ecx
push edi
call fcn.00407ee0
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 + 0x52383e]
mov dword [edi + eax*4 + 0x30], ebx
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x52385e]
mov dword [edi + eax*4 + 0x30], 5
call fcn.0041dc20
mov ecx, dword [esp + 0x50]
push 0x250
push dword [ebp + 0x10]
imul eax, dword [ecx + 0x18], 0x64
mov esi, dword [ecx + 0x74]
movzx eax, byte [eax + 0x52383e]
mov ebx, dword [ecx + eax*4 + 0x30]
call fcn.00409a30
mov edi, eax
push 0x20
push 1
lea ecx, [edi + 0x1c]
push ecx
push edi
call fcn.00407ee0
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 + 0x52383e]
mov dword [edi + eax*4 + 0x30], ebx
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x52385e]
mov dword [edi + eax*4 + 0x30], 6
call fcn.0041dc20
mov ebx, dword [esp + 0x9c]
add esp, 0x40
jmp 0x49f049
push 0x82
push dword [ebp + 0x10]
call fcn.00409a30
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407ee0
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 + 0x52385e]
mov dword [esi + eax*4 + 0x30], 5
call fcn.0041dc20
push 0x82
push dword [ebp + 0x10]
call fcn.00409a30
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407ee0
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 + 0x52385e]
mov dword [esi + eax*4 + 0x30], 6
call fcn.0041dc20
add esp, 0x40
jmp 0x49f04d
imul eax, edx, 0x64
push 0x247
push dword [ebp + 0x10]
movzx eax, byte [eax + 0x52382d]
mov edi, dword [esi + eax*4 + 0x30]
call fcn.00409a30
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407ee0
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 + 0x52382d]
mov dword [esi + eax*4 + 0x30], edi
imul eax, dword [esi + 0x18], 0x64
movzx eax, byte [eax + 0x52385e]
mov dword [esi + eax*4 + 0x30], 5
call fcn.0041dc20
mov ecx, dword [esp + 0x50]
push 0x247
push dword [ebp + 0x10]
imul eax, dword [ecx + 0x18], 0x64
movzx eax, byte [eax + 0x52382d]
mov edi, dword [ecx + eax*4 + 0x30]
call fcn.00409a30
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407ee0
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 + 0x52382d]
mov dword [esi + eax*4 + 0x30], edi
imul eax, dword [esi + 0x18], 0x64
movzx eax, byte [eax + 0x52385e]
mov dword [esi + eax*4 + 0x30], 6
call fcn.0041dc20
add esp, 0x40
jmp 0x49f049
push 0x1b0
push dword [ebp + 0x10]
xorps xmm0, xmm0
movq qword [esp + 0x68], xmm0
call fcn.00409a30
mov esi, eax
push 0x20
push 1
lea edi, [esi + 0x1c]
mov byte [esi + 0x30], 1
push edi
push esi
call fcn.00407ee0
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 + 0x523841]
mov dword [esi + eax*4 + 0x30], ecx
imul eax, dword [esi + 0x18], 0x64
movzx eax, byte [eax + 0x523842]
mov dword [esi + eax*4 + 0x30], 0
call fcn.0041dc20
mov eax, dword [esp + 0x44]
push eax
push edi
push 0x125
push ebp
call fcn.0041d890
mov ecx, dword [esp + 0x40]
push ecx
push eax
push 0x14f
push ebp
call fcn.0041d890
add esp, 0x40
xorps xmm0, xmm0
mov edi, eax
movups xmmword [esp + 0x70], xmm0
push 0x26c
push dword [ebp + 0x10]
call fcn.00409a30
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 0x49eff6
or esi, 0xffffffff
jmp 0x49f004
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 + 0x523841]
mov dword [edx + eax*4 + 0x30], ecx
imul eax, dword [edx + 0x18], 0x64
movzx ecx, byte [eax + 0x523842]
mov eax, dword [esp + 0x80]
mov dword [edx + ecx*4 + 0x30], eax
imul eax, dword [edx + 0x18], 0x64
movzx eax, byte [eax + 0x52382e]
mov dword [edx + eax*4 + 0x30], esi
call fcn.0041dc20
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 0x49f0af
shr edi, 5
shr ebx, 5
cmp edi, ebx
jne 0x49e350
and ecx, 0x1f
jne 0x49f090
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 0x49e350
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 0x49e350
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.0049cb30
push ebx
lea eax, [esp + 0x90]
push esi
push eax
call fcn.0049cb30
add esp, 0x18
jmp 0x49e350