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

Disassembly:
sub esp, 0xf4
mov eax, dword [0x886f80]
xor eax, esp
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x100]
push ebx
push ebp
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x10c]
push esi
mov dword [esp + 0x54], eax
push edi
mov edi, dword [esp + 0x10c]
mov ebp, dword [esp + 0x108]
mov dword [esp + 0x64], ebp
mov dword [esp + 0x40], edi
mov eax, dword [edi + 0x60]
mov dword [esp + 0x4c], 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 + 0x50], eax
movzx eax, byte [ecx + 0x519881]
mov edx, dword [edi + eax*4 + 0x30]
movzx eax, byte [ecx + 0x519882]
mov dword [esp + 0x48], edx
mov eax, dword [edi + eax*4 + 0x30]
mov dword [esp + 0x54], eax
test eax, eax
je 0x49ae4f
bsf ecx, eax
je 0x49ae43
inc ecx
mov esi, 1
dec ecx
shl esi, cl
jmp 0x49ae51
xor ecx, ecx
mov esi, 1
dec ecx
shl esi, cl
jmp 0x49ae51
mov esi, edx
push edi
call fcn.0040fd90
push dword [esp + 0x5c]
mov byte [esp + 0x74], bl
movups xmm0, xmmword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x44], eax
psrldq xmm0, 0xc
movd ecx, xmm0
mov ecx, dword [ecx]
cmp dword [ecx + 0xc], 5
mov ecx, dword [edi + 0x18]
sete byte [esp + 0x64]
imul eax, ecx, 0x64
push dword [esp + 0x64]
push dword [esp + 0x60]
push dword [esp + 0x58]
push ebx
movzx eax, byte [eax + 0x51986e]
push dword [esp + 0x68]
push ecx
mov eax, dword [edi + eax*4 + 0x30]
movzx edi, ax
call dword [esp + 0x80]
mov edx, dword [esp + 0x48]
mov ebx, eax
movzx ecx, bl
add esp, 0x20
mov dword [esp + 0x68], ebx
cmp ecx, edx
jne 0x49aef7
mov ecx, ebx
shr ecx, 8
movzx eax, cl
cmp eax, dword [esp + 0x20]
jne 0x49aef7
shr ebx, 0x10
cmp ebx, esi
ja 0x49aef7
cmp edx, 0x20
jne 0x49aedd
or esi, 0xffffffff
jmp 0x49aeea
mov ecx, edx
mov esi, 1
and ecx, 0x1f
shl esi, cl
dec esi
mov eax, edi
cmp eax, esi
jne 0x49aef7
xor al, al
jmp 0x49af83
xorps xmm0, xmm0
movups xmmword [esp + 0x70], xmm0
test edx, edx
je 0x49af65
mov ebp, dword [esp + 0x24]
mov eax, edi
mov esi, 1
mov dword [esp + 0x44], eax
xor edi, edi
test eax, esi
je 0x49af54
lea ecx, [edi + ebp]
mov ebx, edi
lea eax, [ecx - 1]
shr ebx, 5
shr eax, 5
cmp ebx, eax
jne 0x49af50
and ecx, 0x1f
jne 0x49af34
or edx, 0xffffffff
jmp 0x49af3c
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 + 0x70], eax
mov eax, dword [esp + 0x44]
add edi, ebp
rol esi, 1
sub edx, 1
mov dword [esp + 0x28], edx
jne 0x49af14
mov ebp, dword [esp + 0x64]
xor eax, eax
mov ecx, dword [esp + eax*4 + 0x70]
test ecx, ecx
jne 0x49af9c
inc eax
cmp eax, 4
jl 0x49af67
push dword [esp + 0x40]
call fcn.00409250
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x100]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004e5b77
add esp, 0xf4
ret
bsf ecx, ecx
je 0x49afa4
inc ecx
jmp 0x49afa6
xor ecx, ecx
shl eax, 5
add eax, ecx
je 0x49af75
xor esi, esi
nop
mov eax, dword [esp + esi*4 + 0x70]
test eax, eax
jne 0x49afc2
inc esi
cmp esi, 4
jl 0x49afb0
xor esi, esi
jmp 0x49afd1
bsf eax, eax
je 0x49afca
inc eax
jmp 0x49afcc
xor eax, eax
shl esi, 5
add esi, eax
mov ebx, dword [esp + 0x50]
lea edi, [esi - 1]
mov dword [esp + 0x28], edi
cmp esi, ebx
jae 0x49b002
mov edx, 1
mov ecx, esi
rol edx, cl
nop dword [eax]
mov eax, esi
shr eax, 5
test dword [esp + eax*4 + 0x70], edx
je 0x49b002
inc esi
rol edx, 1
cmp esi, ebx
jb 0x49aff0
mov eax, dword [esp + 0x54]
xor edx, edx
mov ebx, dword [esp + 0x48]
add eax, edi
div ebx
sub esi, edi
mov dword [esp + 0x18], edx
test edx, edx
je 0x49b03e
bsf ecx, edx
je 0x49b02e
inc ecx
mov eax, 1
dec ecx
shl eax, cl
mov dword [esp + 0x24], eax
jmp 0x49b042
xor ecx, ecx
mov eax, 1
dec ecx
shl eax, cl
mov dword [esp + 0x24], eax
jmp 0x49b042
mov dword [esp + 0x24], ebx
push dword [esp + 0x58]
mov eax, dword [esp + 0x44]
push dword [esp + 0x60]
push edx
push ebx
push dword [esp + 0x7c]
push esi
push dword [eax + 0x18]
call dword [esp + 0x7c]
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 0x49b18e
cmp ebx, esi
ja 0x49b18e
push edx
push ecx
lea eax, [edi*8]
push eax
push 1
lea eax, [esp + 0x5c]
push eax
push ebp
call fcn.0040f700
mov ecx, dword [esp + 0x54]
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 0x49b0d2
mov ecx, 0xffffffff
or edx, ecx
jmp 0x49b0f6
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 0x49b10c
mov edx, dword [esp + 0x3c]
jmp 0x49b163
push esi
push ecx
push dword [esp + 0x30]
call fcn.0040f5b0
push esi
push 1
push dword [ebp + 0xc]
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], edx
call fcn.004097b0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49b14e
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.0041d130
add esp, 8
add esi, 0x18
push esi
push dword [esp + 0x40]
push 0x10a
push ebp
call fcn.0041cdb0
add esp, 0x10
mov edx, eax
mov eax, dword [esp + 0x10]
movzx ecx, ah
push ecx
push dword [esp + 0x20]
push dword [esp + 0x2c]
push dword [esp + 0x24]
push dword [esp + 0x58]
push edx
push dword [esp + 0x58]
push ebp
call fcn.00499970
add esp, 0x20
jmp 0x49baa5
mov dword [esp + 0x44], 0x42001
xor eax, eax
mov ebx, dword [esp + 0x44]
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 + 0x3c]
cmp byte [eax + 0x11], 0x40
movzx edi, byte [eax + 0x11]
jne 0x49b1cb
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49b1eb
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 0x49b205
mov eax, dword [esp + 0x3c]
jmp 0x49b25b
mov eax, dword [esp + 0x10]
push edi
push ecx
push eax
call fcn.0040f5b0
push edi
push 1
push dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], edx
call fcn.004097b0
mov edi, eax
add esp, 0x18
test edi, edi
je 0x49b248
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.0041d130
add esp, 8
add edi, 0x18
push edi
push dword [esp + 0x40]
push 0x10a
push ebp
call fcn.0041cdb0
add esp, 0x10
cmp dword [esp + 0x24], 4
mov dword [esp + 0x18], eax
mov al, byte [eax + 0x11]
mov byte [esp + 0x17], al
jae 0x49b323
cmp al, 0x40
jne 0x49b27d
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49b29e
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 0x49b2b1
movzx edi, byte [esp + 0x17]
jmp 0x49b326
mov al, byte [esp + 0x17]
cmp al, 0x40
jne 0x49b2c3
or edi, 0xffffffff
mov eax, 0xffffffff
jmp 0x49b2ee
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 + 0x64]
cmovae eax, edi
add edi, 0xffffffff
adc eax, 0xffffffff
cmp ecx, edi
jne 0x49b300
cmp edx, eax
jne 0x49b300
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
jmp 0x49b375
movzx eax, byte [esp + 0x17]
push eax
push edx
push ecx
push ebp
call fcn.00410320
push eax
push dword [esp + 0x2c]
push 0x10d
push ebp
call fcn.0041cdb0
add esp, 0x20
jmp 0x49b36d
movzx edi, al
push edi
push 0
push 0
call fcn.0040f5b0
push edi
push 1
push dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], edx
call fcn.004097b0
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x49b352
mov dword [esp + 0x1c], eax
jmp 0x49b371
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.0041d130
lea eax, [edi + 0x18]
add esp, 8
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov cl, byte [eax + 0x11]
not ebx
mov edi, dword [esp + 0x20]
movzx eax, cl
not edi
mov byte [esp + 0x17], cl
mov dword [esp + 0x10], eax
cmp cl, 0x40
jne 0x49b399
mov ecx, 0xffffffff
or edx, ecx
jmp 0x49b3bf
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 0x49b40f
movzx edi, byte [esp + 0x17]
push edi
push eax
push eax
call fcn.0040f5b0
push edi
push 1
push dword [ebp + 0xc]
mov ebx, eax
mov dword [esp + 0x38], edx
call fcn.004097b0
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x49b3f6
mov dword [esp + 0x18], eax
jmp 0x49b46b
mov eax, dword [esp + 0x20]
push edi
mov dword [edi + 0x30], ebx
push ebp
mov dword [edi + 0x34], eax
call fcn.0041d130
add esp, 8
lea eax, [edi + 0x18]
jmp 0x49b467
cmp byte [esp + 0x17], 0x40
jne 0x49b41e
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x49b440
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 0x49b448
cmp edi, edx
je 0x49b46b
push dword [esp + 0x10]
push edi
push ebx
push ebp
call fcn.00410320
push eax
push dword [esp + 0x2c]
push 0x10d
push ebp
call fcn.0041cdb0
add esp, 0x20
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x28]
xor eax, eax
mov ecx, 4
mov ebx, 4
sub ecx, dword [esp + 0x24]
cmp dword [esp + 0x24], 4
cmovb eax, ecx
sub ebx, eax
lea eax, [edi*8]
cmp esi, ebx
cmovb ebx, esi
mov dword [esp + 0x68], ebx
lea ecx, [ebx*8]
cmp ecx, 0x18
jne 0x49b581
push 8
push 3
push eax
push 1
lea eax, [esp + 0x5c]
push eax
push ebp
call fcn.0040f700
add esp, 0x18
mov dword [esp + 0x2c], eax
cmp byte [eax + 0x10], 4
je 0x49b576
movzx esi, byte [eax + 0x11]
push esi
push 0
push 0
call fcn.0040f5b0
push esi
push 1
push dword [ebp + 0xc]
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], edx
call fcn.004097b0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49b511
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.0041d130
add esp, 8
add esi, 0x18
mov ecx, dword [esp + 0x2c]
xor eax, eax
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x49b538
nop
mov dword [esp + eax*8 + 0x80], ecx
mov dword [esp + eax*8 + 0x84], eax
inc eax
cmp eax, edx
jb 0x49b520
cmp eax, 4
jae 0x49b563
mov ecx, 3
lea edi, [esp + 0x80]
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 + 0x84]
push eax
push ebp
call fcn.0041d840
add esp, 0xc
push 0x20
push eax
push ebp
call fcn.004117e0
jmp 0x49b5ad
push ecx
push 1
push eax
push 1
lea eax, [esp + 0x5c]
push eax
push ebp
call fcn.0040f700
mov esi, eax
add esp, 0x18
mov dword [esp + 0x10], esi
cmp byte [esi + 0x11], 0x20
je 0x49b5b4
push esi
push 0x16d
push ebp
call fcn.0041cd60
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.0040f5b0
push 0x20
push 1
push dword [ebp + 0xc]
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], edx
call fcn.004097b0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49b605
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x20]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041d130
add esp, 8
lea eax, [esi + 0x18]
cmp dword [esp + 0x24], 4
mov dword [esp + 0x20], eax
jae 0x49b73a
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x11], 0x40
movzx esi, byte [eax + 0x11]
jne 0x49b66d
mov edx, 8
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x49b63b
cmp byte [eax + 0x1e], 0
jne 0x49b6dc
mov ecx, edx
mov eax, 0
add ecx, 0xffffffff
and ecx, edx
or ecx, eax
jne 0x49b6dc
push ecx
push edx
call fcn.004624c0
dec eax
push eax
push ebp
call fcn.004102d0
push eax
push dword [esp + 0x30]
push 0x139
jmp 0x49b6f0
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 + 0x30], ecx
or eax, 0
jne 0x49b627
push esi
push eax
push eax
call fcn.0040f5b0
push esi
push 1
push dword [ebp + 0xc]
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], edx
call fcn.004097b0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x49b6fb
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x24]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041d130
add esp, 8
add esi, 0x18
jmp 0x49b6fb
push esi
push 0
push edx
push ebp
call fcn.00410320
push eax
push dword [esp + 0x30]
push 0x127
push ebp
call fcn.0041cdb0
mov esi, eax
add esp, 0x20
cmp byte [esi + 0x11], 0x20
je 0x49b712
push esi
push 0x16d
push ebp
call fcn.0041cd60
add esp, 0xc
mov esi, eax
mov eax, dword [esp + 0x10]
push esi
push eax
push 0x139
push ebp
call fcn.0041cdb0
push esi
push dword [esp + 0x34]
mov dword [esp + 0x28], eax
push 0x139
push ebp
call fcn.0041cdb0
add esp, 0x20
push eax
push 0x132
push ebp
call fcn.0041cd60
mov esi, dword [esp + 0x4c]
add esp, 0xc
mov dword [esp + 0x24], eax
mov edx, dword [esi + 0x18]
mov ecx, edx
sub ecx, 0x22a
je 0x49b9d6
sub ecx, 0x11
je 0x49b8bc
imul eax, edx, 0x64
push 0x21f
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x51987e]
mov ebx, dword [esi + eax*4 + 0x30]
mov esi, dword [esi + 0x70]
call fcn.00409600
mov edi, eax
push 0x20
push 1
lea ecx, [edi + 0x1c]
push ecx
push edi
call fcn.00407af0
mov eax, dword [esp + 0x30]
xorps xmm0, xmm0
movups xmmword [esp + 0x44], xmm0
mov dword [esp + 0x50], esi
movups xmm0, xmmword [esp + 0x44]
push edi
push ebp
movups xmmword [edi + 0x54], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x4c], xmm0
mov dword [esp + 0x58], eax
movups xmm0, xmmword [esp + 0x4c]
mov eax, dword [esp + 0x44]
movups xmmword [edi + 0x64], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x4c], xmm0
mov dword [esp + 0x58], eax
imul eax, dword [edi + 0x18], 0x64
movups xmm0, xmmword [esp + 0x4c]
movups xmmword [edi + 0x74], xmm0
movzx eax, byte [eax + 0x51987e]
mov dword [edi + eax*4 + 0x30], ebx
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x51989e]
mov dword [edi + eax*4 + 0x30], 5
call fcn.0041d130
mov ecx, dword [esp + 0x60]
push 0x21f
push dword [ebp + 0xc]
imul eax, dword [ecx + 0x18], 0x64
mov esi, dword [ecx + 0x70]
movzx eax, byte [eax + 0x51987e]
mov ebx, dword [ecx + eax*4 + 0x30]
call fcn.00409600
mov edi, eax
push 0x20
push 1
lea ecx, [edi + 0x1c]
push ecx
push edi
call fcn.00407af0
mov eax, dword [esp + 0x50]
xorps xmm0, xmm0
movups xmmword [esp + 0x64], xmm0
mov dword [esp + 0x70], esi
movups xmm0, xmmword [esp + 0x64]
push edi
push ebp
movups xmmword [edi + 0x54], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x6c], xmm0
mov dword [esp + 0x78], eax
movups xmm0, xmmword [esp + 0x6c]
mov eax, dword [esp + 0x50]
movups xmmword [edi + 0x64], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x6c], xmm0
mov dword [esp + 0x78], eax
imul eax, dword [edi + 0x18], 0x64
movups xmm0, xmmword [esp + 0x6c]
movups xmmword [edi + 0x74], xmm0
movzx eax, byte [eax + 0x51987e]
mov dword [edi + eax*4 + 0x30], ebx
imul eax, dword [edi + 0x18], 0x64
movzx eax, byte [eax + 0x51989e]
mov dword [edi + eax*4 + 0x30], 6
call fcn.0041d130
mov edi, dword [esp + 0x68]
mov ebx, dword [esp + 0xa8]
jmp 0x49baa2
imul eax, edx, 0x64
push 0x218
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x51986d]
mov edi, dword [esi + eax*4 + 0x30]
call fcn.00409600
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407af0
mov eax, dword [esp + 0x30]
xorps xmm0, xmm0
movups xmmword [esp + 0x44], xmm0
mov dword [esp + 0x50], eax
movups xmm0, xmmword [esp + 0x44]
mov eax, dword [esp + 0x3c]
push esi
movups xmmword [esi + 0x54], xmm0
push ebp
xorps xmm0, xmm0
movups xmmword [esp + 0x4c], xmm0
mov dword [esp + 0x58], eax
imul eax, dword [esi + 0x18], 0x64
movups xmm0, xmmword [esp + 0x4c]
movups xmmword [esi + 0x64], xmm0
movzx eax, byte [eax + 0x51986d]
mov dword [esi + eax*4 + 0x30], edi
imul eax, dword [esi + 0x18], 0x64
movzx eax, byte [eax + 0x51989e]
mov dword [esi + eax*4 + 0x30], 5
call fcn.0041d130
mov ecx, dword [esp + 0x60]
push 0x218
push dword [ebp + 0xc]
imul eax, dword [ecx + 0x18], 0x64
movzx eax, byte [eax + 0x51986d]
mov edi, dword [ecx + eax*4 + 0x30]
call fcn.00409600
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407af0
mov eax, dword [esp + 0x50]
xorps xmm0, xmm0
movups xmmword [esp + 0x64], xmm0
mov dword [esp + 0x70], eax
movups xmm0, xmmword [esp + 0x64]
mov eax, dword [esp + 0x48]
push esi
movups xmmword [esi + 0x54], xmm0
push ebp
xorps xmm0, xmm0
movups xmmword [esp + 0x6c], xmm0
mov dword [esp + 0x78], eax
imul eax, dword [esi + 0x18], 0x64
movups xmm0, xmmword [esp + 0x6c]
movups xmmword [esi + 0x64], xmm0
movzx eax, byte [eax + 0x51986d]
mov dword [esi + eax*4 + 0x30], edi
imul eax, dword [esi + 0x18], 0x64
movzx eax, byte [eax + 0x51989e]
mov dword [esi + eax*4 + 0x30], 6
call fcn.0041d130
mov edi, dword [esp + 0x68]
jmp 0x49baa2
push 0x7a
push dword [ebp + 0xc]
call fcn.00409600
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407af0
mov eax, dword [esp + 0x30]
xorps xmm0, xmm0
movups xmmword [esp + 0x44], xmm0
mov dword [esp + 0x50], eax
movups xmm0, xmmword [esp + 0x44]
mov eax, dword [esp + 0x3c]
push esi
movups xmmword [esi + 0x54], xmm0
push ebp
xorps xmm0, xmm0
movups xmmword [esp + 0x4c], xmm0
mov dword [esp + 0x58], eax
imul eax, dword [esi + 0x18], 0x64
movups xmm0, xmmword [esp + 0x4c]
movups xmmword [esi + 0x64], xmm0
movzx eax, byte [eax + 0x51989e]
mov dword [esi + eax*4 + 0x30], 5
call fcn.0041d130
push 0x7a
push dword [ebp + 0xc]
call fcn.00409600
mov esi, eax
push 0x20
push 1
lea ecx, [esi + 0x1c]
push ecx
push esi
call fcn.00407af0
mov eax, dword [esp + 0x50]
xorps xmm0, xmm0
movups xmmword [esp + 0x64], xmm0
mov dword [esp + 0x70], eax
movups xmm0, xmmword [esp + 0x64]
mov eax, dword [esp + 0x48]
push esi
movups xmmword [esi + 0x54], xmm0
push ebp
xorps xmm0, xmm0
movups xmmword [esp + 0x6c], xmm0
mov dword [esp + 0x78], eax
imul eax, dword [esi + 0x18], 0x64
movups xmm0, xmmword [esp + 0x6c]
movups xmmword [esi + 0x64], xmm0
movzx eax, byte [eax + 0x51989e]
mov dword [esi + eax*4 + 0x30], 6
call fcn.0041d130
add esp, 0x40
lea ecx, [ebx + edi]
mov esi, edi
mov eax, ecx
lea ebx, [ecx - 1]
and esi, 0x1f
sub eax, edi
add eax, esi
cmp eax, 0x20
ja 0x49bb01
shr edi, 5
shr ebx, 5
cmp edi, ebx
jne 0x49af65
and ecx, 0x1f
jne 0x49bae5
or eax, 0xffffffff
mov ecx, esi
shl eax, cl
or edx, 0xffffffff
and eax, edx
not eax
and dword [esp + edi*4 + 0x70], eax
jmp 0x49af65
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 + 0x70], eax
jmp 0x49af65
mov eax, 0x20
sub eax, esi
lea esi, [eax + edi]
lea eax, [esi - 1]
push eax
lea eax, [esp + 0x74]
push edi
push eax
call fcn.004998e0
push ebx
lea eax, [esp + 0x80]
push esi
push eax
call fcn.004998e0
add esp, 0x18
jmp 0x49af65