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

Disassembly:
sub esp, 0x104
mov eax, dword [0x991fc0]
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 0x49e30f
bsf ecx, eax
je 0x49e303
inc ecx
mov esi, 1
dec ecx
shl esi, cl
jmp 0x49e311
xor ecx, ecx
mov esi, 1
dec ecx
shl esi, cl
jmp 0x49e311
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 0x49e3b2
mov ecx, ebx
shr ecx, 8
movzx eax, cl
cmp eax, dword [esp + 0x20]
jne 0x49e3b2
shr ebx, 0x10
cmp ebx, esi
ja 0x49e3b2
cmp edx, 0x20
jne 0x49e398
or esi, 0xffffffff
jmp 0x49e3a5
mov ecx, edx
mov esi, 1
and ecx, 0x1f
shl esi, cl
dec esi
mov eax, edi
cmp eax, esi
jne 0x49e3b2
xor al, al
jmp 0x49e451
xorps xmm0, xmm0
movups xmmword [esp + 0x80], xmm0
test edx, edx
je 0x49e430
mov ebp, dword [esp + 0x24]
mov eax, edi
mov esi, 1
mov dword [esp + 0x34], eax
xor edi, edi
test eax, esi
je 0x49e415
lea ecx, [edi + ebp]
mov ebx, edi
lea eax, [ecx - 1]
shr ebx, 5
shr eax, 5
cmp ebx, eax
jne 0x49e411
and ecx, 0x1f
jne 0x49e3f2
or edx, 0xffffffff
jmp 0x49e3fa
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 0x49e3d2
mov ebp, dword [esp + 0x54]
nop word [eax + eax]
xor eax, eax
mov ecx, dword [esp + eax*4 + 0x80]
test ecx, ecx
jne 0x49e46a
inc eax
cmp eax, 4
jl 0x49e432
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.004eef15
add esp, 0x104
ret
bsf ecx, ecx
je 0x49e472
inc ecx
jmp 0x49e474
xor ecx, ecx
shl eax, 5
add eax, ecx
je 0x49e443
xor esi, esi
nop dword [eax]
mov eax, dword [esp + esi*4 + 0x80]
test eax, eax
jne 0x49e495
inc esi
cmp esi, 4
jl 0x49e480
xor esi, esi
jmp 0x49e4a4
bsf eax, eax
je 0x49e49d
inc eax
jmp 0x49e49f
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 0x49e4d5
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 0x49e4d5
inc esi
rol edx, 1
cmp esi, ebx
jb 0x49e4c0
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 0x49e511
bsf ecx, edx
je 0x49e501
inc ecx
mov eax, 1
dec ecx
shl eax, cl
mov dword [esp + 0x24], eax
jmp 0x49e515
xor ecx, ecx
mov eax, 1
dec ecx
shl eax, cl
mov dword [esp + 0x24], eax
jmp 0x49e515
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 0x49e65d
cmp ebx, esi
ja 0x49e65d
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 0x49e5a5
mov ecx, 0xffffffff
or edx, ecx
jmp 0x49e5c9
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 0x49e5df
mov eax, dword [esp + 0x2c]
jmp 0x49e634
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 0x49e621
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.0049cca0
add esp, 0x20
jmp 0x49f12d
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 0x49e69a
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49e6ba
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 0x49e6d4
mov eax, dword [esp + 0x2c]
jmp 0x49e72a
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 0x49e717
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 0x49e7ee
cmp al, 0x40
jne 0x49e74c
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49e76d
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 0x49e780
movzx edi, byte [esp + 0x17]
jmp 0x49e7f1
mov al, byte [esp + 0x17]
cmp al, 0x40
jne 0x49e792
or edi, 0xffffffff
mov eax, 0xffffffff
jmp 0x49e7bd
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 0x49e7cb
cmp edx, eax
jne 0x49e7cb
mov eax, dword [esp + 0x18]
jmp 0x49e838
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 0x49e838
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 0x49e81d
mov dword [esp + 0x1c], eax
jmp 0x49e83c
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 0x49e864
mov ecx, 0xffffffff
or edx, ecx
jmp 0x49e88a
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 0x49e8da
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 0x49e8c1
mov dword [esp + 0x18], eax
jmp 0x49e936
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 0x49e932
cmp byte [esp + 0x17], 0x40
jne 0x49e8e9
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49e90b
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 0x49e913
cmp edi, edx
je 0x49e936
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 0x49ea51
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 0x49ea46
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 0x49e9dc
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 0x49ea08
nop word [eax + eax]
mov dword [esp + eax*8 + 0x90], ecx
mov dword [esp + eax*8 + 0x94], eax
inc eax
cmp eax, edx
jb 0x49e9f0
cmp eax, 4
jae 0x49ea33
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 0x49ea7d
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 0x49ea84
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 0x49ead5
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 0x49ec0a
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x11], 0x40
movzx esi, byte [eax + 0x11]
jne 0x49eb3d
mov edx, 8
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x49eb0b
cmp byte [eax + 0x1e], 0
jne 0x49ebac
mov ecx, edx
mov eax, 0
add ecx, 0xffffffff
and ecx, edx
or ecx, eax
jne 0x49ebac
push ecx
push edx
call fcn.00461370
dec eax
push eax
push ebp
call fcn.00410a70
push eax
push dword [esp + 0x30]
push 0x152
jmp 0x49ebc0
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 0x49eaf7
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 0x49ebcb
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 0x49ebcb
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.0x49ec2b
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 + 0x49ef7d]
jmp dword [ecx*4 + 0x49f1c4]
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 0x49f129
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 0x49f12d
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 0x49f129
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 0x49f0d6
or esi, 0xffffffff
jmp 0x49f0e4
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 0x49f18f
shr edi, 5
shr ebx, 5
cmp edi, ebx
jne 0x49e430
and ecx, 0x1f
jne 0x49f170
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 0x49e430
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 0x49e430
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.0049cc10
push ebx
lea eax, [esp + 0x90]
push esi
push eax
call fcn.0049cc10
add esp, 0x18
jmp 0x49e430