Function at 0x49e1f0
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 0x49e29f
bsf ecx, eax
je 0x49e293
inc ecx
mov esi, 1
dec ecx
shl esi, cl
jmp 0x49e2a1
xor ecx, ecx
mov esi, 1
dec ecx
shl esi, cl
jmp 0x49e2a1
mov esi, edx
push edi
call fcn.004104b0
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 0x49e342
mov ecx, ebx
shr ecx, 8
movzx eax, cl
cmp eax, dword [esp + 0x20]
jne 0x49e342
shr ebx, 0x10
cmp ebx, esi
ja 0x49e342
cmp edx, 0x20
jne 0x49e328
or esi, 0xffffffff
jmp 0x49e335
mov ecx, edx
mov esi, 1
and ecx, 0x1f
shl esi, cl
dec esi
mov eax, edi
cmp eax, esi
jne 0x49e342
xor al, al
jmp 0x49e3e1
xorps xmm0, xmm0
movups xmmword [esp + 0x80], xmm0
test edx, edx
je 0x49e3c0
mov ebp, dword [esp + 0x24]
mov eax, edi
mov esi, 1
mov dword [esp + 0x34], eax
xor edi, edi
test eax, esi
je 0x49e3a5
lea ecx, [edi + ebp]
mov ebx, edi
lea eax, [ecx - 1]
shr ebx, 5
shr eax, 5
cmp ebx, eax
jne 0x49e3a1
and ecx, 0x1f
jne 0x49e382
or edx, 0xffffffff
jmp 0x49e38a
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 0x49e362
mov ebp, dword [esp + 0x54]
nop word [eax + eax]
xor eax, eax
mov ecx, dword [esp + eax*4 + 0x80]
test ecx, ecx
jne 0x49e3fa
inc eax
cmp eax, 4
jl 0x49e3c2
push dword [esp + 0x30]
call fcn.004096c0
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x110]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004eee65
add esp, 0x104
ret
bsf ecx, ecx
je 0x49e402
inc ecx
jmp 0x49e404
xor ecx, ecx
shl eax, 5
add eax, ecx
je 0x49e3d3
xor esi, esi
nop dword [eax]
mov eax, dword [esp + esi*4 + 0x80]
test eax, eax
jne 0x49e425
inc esi
cmp esi, 4
jl 0x49e410
xor esi, esi
jmp 0x49e434
bsf eax, eax
je 0x49e42d
inc eax
jmp 0x49e42f
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 0x49e465
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 0x49e465
inc esi
rol edx, 1
cmp esi, ebx
jb 0x49e450
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 0x49e4a1
bsf ecx, edx
je 0x49e491
inc ecx
mov eax, 1
dec ecx
shl eax, cl
mov dword [esp + 0x24], eax
jmp 0x49e4a5
xor ecx, ecx
mov eax, 1
dec ecx
shl eax, cl
mov dword [esp + 0x24], eax
jmp 0x49e4a5
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 0x49e5ed
cmp ebx, esi
ja 0x49e5ed
push edx
push ecx
lea eax, [edi*8]
push eax
push 1
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.0040ff00
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 0x49e535
mov ecx, 0xffffffff
or edx, ecx
jmp 0x49e559
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 0x49e56f
mov eax, dword [esp + 0x2c]
jmp 0x49e5c4
push esi
push ecx
push dword [esp + 0x30]
call fcn.0040fdb0
push esi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], edx
call fcn.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49e5b1
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.0041dcb0
add esp, 8
add esi, 0x18
push esi
push dword [esp + 0x30]
push 0x122
push ebp
call fcn.0041d920
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.0049cc30
add esp, 0x20
jmp 0x49f0bd
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 0x49e62a
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49e64a
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 0x49e664
mov eax, dword [esp + 0x2c]
jmp 0x49e6ba
mov eax, dword [esp + 0x10]
push edi
push ecx
push eax
call fcn.0040fdb0
push edi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], edx
call fcn.00409c50
mov edi, eax
add esp, 0x18
test edi, edi
je 0x49e6a7
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.0041dcb0
add esp, 8
add edi, 0x18
push edi
push dword [esp + 0x30]
push 0x122
push ebp
call fcn.0041d920
add esp, 0x10
cmp dword [esp + 0x24], 4
mov dword [esp + 0x18], eax
mov al, byte [eax + 0x11]
mov byte [esp + 0x17], al
jae 0x49e77e
cmp al, 0x40
jne 0x49e6dc
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49e6fd
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 0x49e710
movzx edi, byte [esp + 0x17]
jmp 0x49e781
mov al, byte [esp + 0x17]
cmp al, 0x40
jne 0x49e722
or edi, 0xffffffff
mov eax, 0xffffffff
jmp 0x49e74d
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 0x49e75b
cmp edx, eax
jne 0x49e75b
mov eax, dword [esp + 0x18]
jmp 0x49e7c8
movzx eax, byte [esp + 0x17]
push eax
push edx
push ecx
push ebp
call fcn.00410ac0
push eax
push dword [esp + 0x2c]
push 0x125
push ebp
call fcn.0041d920
add esp, 0x20
jmp 0x49e7c8
movzx edi, al
push edi
push 0
push 0
call fcn.0040fdb0
push edi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], eax
call fcn.00409c50
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x49e7ad
mov dword [esp + 0x1c], eax
jmp 0x49e7cc
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.0041dcb0
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 0x49e7f4
mov ecx, 0xffffffff
or edx, ecx
jmp 0x49e81a
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 0x49e86a
movzx edi, byte [esp + 0x17]
push edi
push eax
push eax
call fcn.0040fdb0
push edi
push 1
push dword [ebp + 0x10]
mov ebx, eax
mov dword [esp + 0x38], edx
call fcn.00409c50
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x49e851
mov dword [esp + 0x18], eax
jmp 0x49e8c6
mov eax, dword [esp + 0x20]
push edi
mov dword [edi + 0x30], ebx
push ebp
mov dword [edi + 0x34], eax
call fcn.0041dcb0
add esp, 8
lea eax, [edi + 0x18]
jmp 0x49e8c2
cmp byte [esp + 0x17], 0x40
jne 0x49e879
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49e89b
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 0x49e8a3
cmp edi, edx
je 0x49e8c6
push dword [esp + 0x10]
push edi
push ebx
push ebp
call fcn.00410ac0
push eax
push dword [esp + 0x2c]
push 0x125
push ebp
call fcn.0041d920
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 0x49e9e1
push 8
push 3
push eax
push 1
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.0040ff00
add esp, 0x18
mov dword [esp + 0x60], eax
cmp byte [eax + 0x10], 4
je 0x49e9d6
movzx esi, byte [eax + 0x11]
push esi
push 0
push 0
call fcn.0040fdb0
push esi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], edx
call fcn.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49e96c
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.0041dcb0
add esp, 8
add esi, 0x18
mov ecx, dword [esp + 0x60]
xor eax, eax
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x49e998
nop word [eax + eax]
mov dword [esp + eax*8 + 0x90], ecx
mov dword [esp + eax*8 + 0x94], eax
inc eax
cmp eax, edx
jb 0x49e980
cmp eax, 4
jae 0x49e9c3
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.0041e3d0
add esp, 0xc
push 0x20
push eax
push ebp
call fcn.00411fd0
jmp 0x49ea0d
push ecx
push 1
push eax
push 1
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.0040ff00
mov esi, eax
add esp, 0x18
mov dword [esp + 0x10], esi
cmp byte [esi + 0x11], 0x20
je 0x49ea14
push esi
push 0x189
push ebp
call fcn.0041d8d0
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.0040fdb0
push 0x20
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x78], eax
mov dword [esp + 0x38], edx
call fcn.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49ea65
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.0041dcb0
add esp, 8
lea eax, [esi + 0x18]
cmp dword [esp + 0x24], 4
mov dword [esp + 0x20], eax
jae 0x49eb9a
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x11], 0x40
movzx esi, byte [eax + 0x11]
jne 0x49eacd
mov edx, 8
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x49ea9b
cmp byte [eax + 0x1e], 0
jne 0x49eb3c
mov ecx, edx
mov eax, 0
add ecx, 0xffffffff
and ecx, edx
or ecx, eax
jne 0x49eb3c
push ecx
push edx
call fcn.00461340
dec eax
push eax
push ebp
call fcn.00410a70
push eax
push dword [esp + 0x30]
push 0x152
jmp 0x49eb50
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 0x49ea87
push esi
push eax
push eax
call fcn.0040fdb0
push esi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x78], eax
mov dword [esp + 0x3c], edx
call fcn.00409c50
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49eb5b
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.0041dcb0
add esp, 8
add esi, 0x18
jmp 0x49eb5b
push esi
push 0
push edx
push ebp
call fcn.00410ac0
push eax
push dword [esp + 0x30]
push 0x140
push ebp
call fcn.0041d920
mov esi, eax
add esp, 0x20
cmp byte [esi + 0x11], 0x20
je case.default.0x49ebbb
push esi
push 0x189
push ebp
call fcn.0041d8d0
add esp, 0xc
mov esi, eax
mov ecx, dword [esp + 0x10]
push esi
push ecx
push 0x152
push ebp
call fcn.0041d920
push esi
push dword [esp + 0x34]
mov dword [esp + 0x28], eax
push 0x152
push ebp
call fcn.0041d920
add esp, 0x20
push eax
push 0x14b
push ebp
call fcn.0041d8d0
mov esi, dword [esp + 0x3c]
add esp, 0xc
mov dword [esp + 0x24], eax
mov edx, dword [esi + 0x18]
movzx ecx, byte [edx + 0x49ef0d]
jmp dword [ecx*4 + 0x49f154]
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.00409aa0
mov edi, eax
push 0x20
push 1
lea ecx, [edi + 0x1c]
push ecx
push edi
call fcn.00407f50
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.0041dcb0
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.00409aa0
mov edi, eax
push 0x20
push 1
lea ecx, [edi + 0x1c]
push ecx
push edi
call fcn.00407f50
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.0041dcb0
mov ebx, dword [esp + 0x9c]
add esp, 0x40
jmp 0x49f0b9
push 0x82
push dword [ebp + 0x10]
call fcn.00409aa0
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407f50
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.0041dcb0
push 0x82
push dword [ebp + 0x10]
call fcn.00409aa0
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407f50
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.0041dcb0
add esp, 0x40
jmp 0x49f0bd
imul eax, edx, 0x64
push 0x247
push dword [ebp + 0x10]
movzx eax, byte [eax + 0x52382d]
mov edi, dword [esi + eax*4 + 0x30]
call fcn.00409aa0
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407f50
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.0041dcb0
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.00409aa0
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407f50
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.0041dcb0
add esp, 0x40
jmp 0x49f0b9
push 0x1b0
push dword [ebp + 0x10]
xorps xmm0, xmm0
movq qword [esp + 0x68], xmm0
call fcn.00409aa0
mov esi, eax
push 0x20
push 1
lea edi, [esi + 0x1c]
mov byte [esi + 0x30], 1
push edi
push esi
call fcn.00407f50
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.0041dcb0
mov eax, dword [esp + 0x44]
push eax
push edi
push 0x125
push ebp
call fcn.0041d920
mov ecx, dword [esp + 0x40]
push ecx
push eax
push 0x14f
push ebp
call fcn.0041d920
add esp, 0x40
xorps xmm0, xmm0
mov edi, eax
movups xmmword [esp + 0x70], xmm0
push 0x26c
push dword [ebp + 0x10]
call fcn.00409aa0
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 0x49f066
or esi, 0xffffffff
jmp 0x49f074
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.0041dcb0
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 0x49f11f
shr edi, 5
shr ebx, 5
cmp edi, ebx
jne 0x49e3c0
and ecx, 0x1f
jne 0x49f100
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 0x49e3c0
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 0x49e3c0
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.0049cba0
push ebx
lea eax, [esp + 0x90]
push esi
push eax
call fcn.0049cba0
add esp, 0x18
jmp 0x49e3c0