Function at 0x103a42b0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
mov esi, ecx
push 0x400
push 0
lea edi, [esi + 0x32024]
push edi
call fcn.10425c00
add esp, 0xc
mov ecx, esi
call fcn.103e5970
mov edx, dword [esi + 0x22938]
cmp edx, 8
mov ecx, dword [esi + 0x22940]
mov dword [edi], eax
setne ah
inc ah
cmp ecx, 8
mov byte [ebp - 1], ah
setne al
inc al
cmp ecx, edx
movzx ebx, al
mov ecx, esi
movzx eax, ah
cmovl ebx, eax
mov eax, dword [esi + 0x30]
push dword [eax + 0x14]
call fcn.100822d0
test al, al
je 0x103a432a
cmp dword [esi + 0x22928], 2
jne 0x103a4328
mov cl, bl
mov al, 1
shl al, cl
mov bl, al
jmp 0x103a432a
mov bl, 4
mov eax, dword [esi + 0x4e6a8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + 0x50]
mov ecx, dword [eax + 0x4c]
mov edi, dword [eax + 0x48]
mov eax, dword [eax + 0x44]
test al, 8
jne 0x103a43a5
test eax, 0x400
jne 0x103a43a5
test ecx, ecx
js 0x103a43a5
test edx, 0x20000000
jne 0x103a43a5
test eax, 0x8000000
jne 0x103a43a5
test ecx, 0x100
jne 0x103a43a5
test edi, 0x800000
jne 0x103a43a5
mov ecx, dword [esi + 0x22958]
mov eax, dword [esi + 0x22974]
push 0
mov byte [ebp - 0xc], 0
push dword [ebp - 0xc]
shl eax, cl
push 1
push dword [esi + 0x13950]
push eax
mov eax, dword [esi + 0x22970]
shl eax, cl
push eax
lea eax, [esi + 0x290]
push eax
call fcn.102fdd80
mov ecx, dword [esi + 0x22958]
mov ax, word [esi + 0x22970]
mov edi, dword [esi + 0x32044]
shl ax, cl
and edi, 0xffffff80
dec ax
or edi, 0x80
mov word [esi + 0x32028], ax
movzx edx, ax
movzx eax, word [esi + 0x29c]
mov word [esi + 0x3202c], ax
movzx eax, word [esi + 0x2a0]
mov word [esi + 0x3202e], ax
mov eax, dword [esi + 0x2b0]
mov dword [esi + 0x32034], eax
mov eax, dword [esi + 0x2b8]
mov dword [esi + 0x3203c], eax
mov eax, dword [esi + 0x2b4]
mov dword [esi + 0x32038], eax
mov eax, dword [esi + 0x2bc]
mov dword [esi + 0x32040], eax
mov eax, dword [esi + 0x4e6a8]
mov dword [ebp - 0x18], edx
mov dx, word [esi + 0x22974]
shl dx, cl
mov dword [esi + 0x32044], edi
dec dx
mov word [esi + 0x3202a], dx
mov eax, dword [eax + 8]
mov dword [ebp - 0xc], edi
mov word [ebp - 6], dx
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + 0x50]
mov edi, dword [eax + 0x48]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + 0x4c]
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0xc]
test al, 8
jne 0x103a4494
test eax, 0x400
jne 0x103a4494
test ecx, ecx
js 0x103a4494
test dword [ebp - 0x10], 0x20000000
jne 0x103a4494
test eax, 0x8000000
jne 0x103a4494
test ecx, 0x100
jne 0x103a4494
test dword [ebp - 0x14], 0x800000
je 0x103a456a
mov eax, dword [esi + 0x248]
add eax, 0x17
lea eax, [esi + eax*4]
mov dword [ebp - 0xc], eax
mov eax, dword [eax]
mov eax, dword [eax]
cmp byte [eax + 0x1b4], 0
je 0x103a44b8
mov edx, dword [eax + 0x1b0]
jmp 0x103a44be
mov eax, dword [eax + 0x74]
mov edx, dword [eax + 0x28]
movzx ecx, byte [ebp - 1]
or edi, 2
movzx eax, dx
and edi, 0xffffff7f
xor edx, edx
div ecx
xor edx, edx
mov word [esi + 0x3202c], ax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [eax + 0x74]
movzx eax, word [eax + 0x2c]
div ecx
mov ecx, dword [ebp - 0xc]
mov word [esi + 0x3202e], ax
mov dword [esi + 0x32034], 0
mov dx, word [ebp - 6]
mov eax, dword [ecx]
mov eax, dword [eax]
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xf0]
shr eax, 8
mov dword [esi + 0x32038], eax
mov eax, dword [ecx]
mov eax, dword [eax]
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xf8]
shr eax, 8
mov dword [esi + 0x3203c], eax
mov eax, dword [ecx]
mov eax, dword [eax]
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xfc]
shr eax, 8
cmp dword [esi + 0x22928], 3
mov dword [esi + 0x32040], eax
mov dword [esi + 0x32044], edi
jne 0x103a456a
or edi, 0x300
mov dword [esi + 0x32038], 0
mov dword [esi + 0x32044], edi
cmp byte [esi + 0x22991], 0
movups xmm0, xmmword [esi + 0x32028]
movups xmmword [esi + 0x32068], xmm0
movups xmm0, xmmword [esi + 0x32038]
movups xmmword [esi + 0x32078], xmm0
je 0x103a45b5
movzx eax, word [esi + 0x2290c]
mov edx, 0xfffe
inc ax
and ax, dx
dec ax
movzx ecx, ax
movzx eax, word [esi + 0x22908]
inc ax
and ax, dx
dec ax
jmp 0x103a45bb
mov eax, dword [ebp - 0x18]
movzx ecx, dx
movzx eax, ax
mov word [esi + 0x32048], ax
mov word [esi + 0x3204a], cx
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx]
cmp byte [eax + 0x1b4], 0
je 0x103a45e2
mov eax, dword [eax + 0x1b0]
jmp 0x103a45e8
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x28]
movzx eax, ax
xor edx, edx
movzx edi, bl
div edi
mov word [esi + 0x3204c], ax
mov eax, dword [ecx]
cmp byte [eax + 0x1b4], 0
je 0x103a460c
mov eax, dword [eax + 0x1b0]
jmp 0x103a4612
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x28]
movzx eax, ax
xor edx, edx
div edi
mov edx, dword [esi + 0x32064]
mov word [esi + 0x3204e], ax
and edx, 0xfffffcff
mov dword [esi + 0x32054], 0
mov dword [esi + 0x32058], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xf8]
shr eax, 8
mov dword [esi + 0x3205c], eax
mov dword [esi + 0x32060], 0
mov dword [esi + 0x32064], edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
cmp byte [eax + 0xbd], 0
je 0x103a46a9
and edx, 0xffffff82
or edx, 2
and edx, 0xffffff7f
mov dword [esi + 0x32064], edx
push dword [ecx + 0x14]
mov ecx, esi
call fcn.100822d0
xor edx, edx
mov ecx, 0x2000
test al, al
mov eax, dword [esi + 0x32064]
cmovne edx, ecx
and eax, 0xffffdfff
or edx, eax
jmp 0x103a46c6
and edx, 0xffffff80
mov dword [esi + 0x32064], edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
cmp byte [eax + 0xbc], 0
je 0x103a46cc
or edx, 0x80
mov dword [esi + 0x32064], edx
cmp dword [esi + 0x22928], 3
jne 0x103a4731
mov ecx, dword [esi + 0x30]
or edx, 0x300
mov dword [esi + 0x32054], 0
mov dword [esi + 0x32058], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xf8]
shr eax, 8
mov dword [esi + 0x3205c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0xfc]
shr eax, 8
mov dword [esi + 0x32060], eax
mov ax, word [esi + 0x3204c]
add ax, ax
mov dword [esi + 0x32064], edx
mov word [esi + 0x3204e], ax
mov ecx, dword [esi + 0x1ec4c]
lea edx, [esi + 0x32088]
mov eax, dword [esi + 0x14118]
lea ebx, [esi + 0x1413c]
and eax, 1
mov edi, dword [esi + 0x1411c]
and ecx, 1
mov dword [ebp - 8], ebx
add ecx, ecx
and edi, 1
or ecx, eax
shl edi, 4
mov eax, dword [esi + 0x1eb40]
add ecx, ecx
and eax, 1
or ecx, eax
mov eax, dword [esi + 0x14134]
and eax, 1
add ecx, ecx
or ecx, eax
mov eax, dword [esi + 0x14120]
and eax, 1
add ecx, ecx
or ecx, eax
mov eax, dword [esi + 0x139ec]
and eax, 3
shl ecx, 2
or ecx, eax
mov eax, dword [esi + 0x139e8]
and eax, 3
shl ecx, 2
or ecx, eax
mov eax, dword [esi + 0x229a4]
sub eax, 2
shl ecx, 3
and eax, 3
or ecx, eax
mov eax, dword [esi + 0x229a0]
sub eax, 2
shl ecx, 2
and eax, 3
or ecx, eax
mov eax, dword [esi + 0x1397c]
and eax, 0xf
shl ecx, 8
or ecx, eax
mov eax, dword [esi + 0x13954]
and eax, 1
add ecx, ecx
or ecx, eax
mov eax, dword [esi + 0x22950]
inc eax
shl ecx, 2
shl eax, 7
and eax, 0x180
or ecx, eax
mov eax, dword [esi + 0x22958]
inc eax
shl eax, 9
and eax, 0x600
or ecx, eax
mov eax, dword [esi + 0x13950]
and eax, 3
or ecx, eax
mov eax, dword [edx]
and eax, 0xfe008000
or ecx, eax
mov eax, dword [esi + 0x13974]
and eax, 0xf
mov dword [edx], ecx
or edi, eax
and ecx, 0x1ffffff
mov eax, dword [esi + 0x3208c]
and eax, 0xfffffc1f
shl edi, 5
or edi, eax
mov eax, dword [esi + 0x4e6a8]
mov dword [esi + 0x3208c], edi
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x1c]
test dword [eax + 0x4c], 0x4000000
je 0x103a48e5
mov edx, dword [ebx]
cmp edx, 0x20
jle 0x103a4872
or ecx, 0x80000000
lea edx, [esi + 0x32088]
jmp 0x103a48ee
cmp edx, 0x10
jle 0x103a4885
or ecx, 0x40000000
lea edx, [esi + 0x32088]
jmp 0x103a48ee
cmp edx, 8
jle 0x103a4898
or ecx, 0x20000000
lea edx, [esi + 0x32088]
jmp 0x103a48ee
cmp edx, 4
jle 0x103a48ab
or ecx, 0x10000000
lea edx, [esi + 0x32088]
jmp 0x103a48ee
cmp edx, 2
jle 0x103a48be
or ecx, 0x8000000
lea edx, [esi + 0x32088]
jmp 0x103a48ee
cmp edx, 1
jle 0x103a48d1
or ecx, 0x4000000
lea edx, [esi + 0x32088]
jmp 0x103a48ee
mov eax, ecx
or eax, 0x2000000
test edx, edx
lea edx, [esi + 0x32088]
cmovg ecx, eax
jmp 0x103a48ee
mov eax, ecx
mov ecx, dword [ebx]
shl ecx, 0x19
or ecx, eax
mov dword [edx], ecx
mov eax, dword [esi + 0x1eb44]
xor eax, edi
mov ecx, dword [esi + 0x21104]
and eax, 0x1f
and ecx, 1
xor eax, edi
add ecx, ecx
mov dword [esi + 0x3208c], eax
mov al, byte [esi + 0x210c8]
mov byte [esi + 0x32090], al
mov eax, dword [esi + 0x21100]
and eax, 1
or ecx, eax
mov eax, dword [esi + 0x210fc]
add ecx, ecx
and eax, 1
or ecx, eax
mov eax, dword [esi + 0x210d4]
add ecx, ecx
and eax, 1
or ecx, eax
mov eax, dword [esi + 0x21108]
add ecx, ecx
and eax, 1
or ecx, eax
mov eax, dword [esi + 0x21a6c]
add ecx, ecx
and eax, 1
or ecx, eax
mov eax, dword [esi + 0x210ec]
add ecx, ecx
and eax, 1
or ecx, eax
mov eax, dword [esi + 0x2132c]
add ecx, ecx
and eax, 1
or ecx, eax
mov eax, dword [esi + 0x21338]
add ecx, ecx
and eax, 1
or ecx, eax
mov eax, dword [esi + 0x210e8]
add ecx, ecx
and eax, 1
or ecx, eax
mov eax, dword [esi + 0x21110]
add ecx, ecx
and eax, 1
or ecx, eax
mov eax, dword [esi + 0x210e4]
add ecx, ecx
and eax, 1
or ecx, eax
mov eax, dword [esi + 0x210dc]
shl ecx, 5
and eax, 0x1f
or ecx, eax
mov eax, dword [esi + 0x210d8]
shl ecx, 5
and eax, 0x1f
or ecx, eax
mov eax, dword [esi + 0x32090]
shl ecx, 8
and eax, 0xc00000ff
or ecx, eax
mov eax, dword [esi + 0x21a70]
mov dword [esi + 0x32090], ecx
and eax, 7
mov ecx, dword [esi + 0x21a7c]
and ecx, 0xf
shl ecx, 6
or ecx, eax
mov eax, dword [esi + 0x210f0]
and eax, 3
shl ecx, 2
or ecx, eax
mov eax, dword [esi + 0x210d0]
add ecx, ecx
and eax, 1
or ecx, eax
mov eax, dword [esi + 0x2110c]
add ecx, ecx
and eax, 1
or ecx, eax
mov eax, dword [esi + 0x210f8]
and eax, 0x1f
shl ecx, 5
or ecx, eax
mov eax, dword [esi + 0x210f4]
and eax, 0x1f
shl ecx, 5
or ecx, eax
mov eax, dword [esi + 0x210e0]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [esi + 0x32094]
and eax, 0xc3800000
or ecx, eax
lea eax, [esi + 0x32098]
mov dword [esi + 0x32094], ecx
lea ecx, [esi + 0x31f64]
test eax, eax
je 0x103a4aa6
test ecx, ecx
je 0x103a4a99
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [ecx + 0x40]
movups xmmword [eax + 0x40], xmm0
movups xmm0, xmmword [ecx + 0x50]
movups xmmword [eax + 0x50], xmm0
jmp 0x103a4ab6
push 0x60
push 0
push eax
call fcn.10425c00
add esp, 0xc
call fcn.1043a2d6
mov dword [eax], 0x16
call fcn.1043a1d8
cmp dword [esi + 0x338], 0
je 0x103a4af1
cmp dword [esi + 0x4e620], 0
jne 0x103a4af1
mov eax, dword [esi + 0x210c8]
add eax, 1
jns 0x103a4ad7
xor eax, eax
jmp 0x103a4ae1
mov ecx, 0x3f
cmp eax, ecx
cmovg eax, ecx
mov byte [esi + 0x32090], al
and dword [esi + 0x32090], 0xefffffff
mov edi, dword [ebp + 8]
mov ecx, esi
push edi
call fcn.103a7a60
mov al, byte [esi + 0x230d8]
mov byte [ebp + 0xb], al
test al, al
je 0x103a4b11
mov eax, dword [esi + 0x230dc]
jmp 0x103a4b13
xor eax, eax
mov dword [esi + 0x321a0], eax
mov ax, word [esi + 0x21ad0]
mov word [esi + 0x321aa], ax
mov al, byte [esi + 0x230d4]
dec al
mov byte [esi + 0x321ac], al
mov al, byte [esi + 0x230e4]
dec al
mov byte [esi + 0x321ad], al
mov al, byte [esi + 0x230e0]
dec al
mov byte [esi + 0x321ae], al
mov byte [esi + 0x321af], 0
mov byte [esi + 0x322d8], 0
mov ecx, dword [esi + 0x21ac8]
mov eax, dword [esi + 0x21ab8]
and ecx, 1
and eax, 1
add ecx, ecx
or ecx, eax
mov eax, dword [esi + 0x321a8]
and eax, 0xfffffffc
or ecx, eax
mov dword [esi + 0x321a8], ecx
mov eax, dword [esi + 0x208]
mov dword [esi + 0x321b0], eax
mov eax, dword [esi + 0x200]
mov dword [esi + 0x321b8], eax
mov eax, dword [esi + 0x1fc]
mov dword [esi + 0x321b4], eax
mov eax, dword [esi + 0x204]
mov dword [esi + 0x321bc], eax
mov eax, dword [esi + 0x20c]
mov dword [esi + 0x322d4], eax
mov ecx, dword [esi + 0x22958]
mov eax, dword [esi + 0x22974]
add ecx, 0xfffffffc
mov edx, dword [esi + 0x22970]
shl eax, cl
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x4e6a8]
shl edx, cl
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x1c]
test dword [eax + 0x44], 0x8000000
jne 0x103a4c16
test dword [eax + 0x4c], 0x100
jne 0x103a4c16
test dword [eax + 0x48], 0x800000
jne 0x103a4c16
mov eax, dword [ebp - 0x18]
mov dword [ebp - 8], ebx
lea eax, [eax + eax*2]
add eax, 3
shl eax, 6
jmp 0x103a4c1b
mov eax, 0x180
imul edx, eax
add edx, 0xff
and edx, 0xffffff00
mov dword [esi + 0x321c0], edx
mov eax, dword [esi + 0x38]
mov eax, dword [eax + 0x74]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x321c4], eax
mov eax, dword [esi + 0x4bfdc]
mov dword [esi + 0x321c8], eax
cmp byte [esi + 0x4e5e1], 0
je 0x103a4c5d
cmp dword [esi + 0x278], 0
jbe 0x103a4c6d
cmp byte [esi + 0x4e5e2], 0
mov dword [ebp - 0xc], 0
je 0x103a4c74
mov dword [ebp - 0xc], 0x1000000
mov ecx, dword [esi + 0x21ab0]
mov eax, dword [esi + 0x21aa8]
and ecx, 7
mov edx, dword [esi + 0x321cc]
and eax, 0x3f
shl ecx, 0xc
and edx, 0xfeffffff
or edx, dword [ebp - 0xc]
or ecx, eax
mov eax, dword [esi + 0x321e0]
and edx, 0xfffffff0
and eax, 0xff8fc0ff
shl ecx, 8
or ecx, eax
xor eax, eax
cmp byte [ebp + 0xb], al
mov dword [esi + 0x321e0], ecx
mov ecx, 8
cmovne eax, ecx
and edi, 3
or edx, eax
mov eax, dword [ebp + 0xc]
or edx, edi
and eax, 1
shl eax, 2
and edx, 0xffffffef
or edx, eax
mov dword [esi + 0x321cc], edx
mov ax, word [esi + 0x23130]
mov word [esi + 0x322ec], ax
cmp byte [esi + 0x229fd], 0
je 0x103a4d6a
mov eax, dword [esi + 0x4e6a8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + 0x48]
mov ecx, dword [eax + 0x4c]
mov edx, dword [eax + 0x50]
mov eax, dword [eax + 0x44]
test al, 8
jne 0x103a4d3d
test eax, 0x400
jne 0x103a4d3d
test ecx, ecx
js 0x103a4d3d
test edx, 0x20000000
jne 0x103a4d3d
test eax, 0x8000000
jne 0x103a4d3d
test ecx, 0x100
jne 0x103a4d3d
test edi, 0x800000
jne 0x103a4d3d
mov dword [ebp - 8], ebx
jmp 0x103a4d6a
mov ecx, dword [esi + 0x22a04]
mov eax, dword [esi + 0x22a00]
and ecx, 0x1f
and eax, 0x1f
shl ecx, 5
or ecx, eax
mov eax, dword [esi + 0x321cc]
shl ecx, 0xe
and eax, 0xff003fff
or ecx, eax
mov dword [esi + 0x321cc], ecx
mov eax, dword [esi + 0x4daec]
mov dword [esi + 0x321d0], eax
mov edx, dword [esi + 0x4e5d0]
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov eax, dword [eax + edx + 0x84]
mov dword [esi + 0x321d4], eax
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx + 0x84]
add eax, dword [ecx + edx + 0x74]
mov dword [esi + 0x321d8], eax
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov eax, dword [eax + edx + 0x40]
mov dword [esi + 0x321dc], eax
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov eax, dword [eax + edx + 0x3c]
mov dword [esi + 0x3230c], eax
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov eax, dword [eax + edx + 0x4c]
mov dword [esi + 0x32308], eax
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov eax, dword [eax + edx + 0x48]
mov dword [esi + 0x322d0], eax
mov eax, dword [esi + 0x321cc]
mov edi, dword [esi + 0x321a8]
and eax, 0xffffffbf
or eax, 0xa0
and edi, 0xffffff7b
mov dword [esi + 0x321cc], eax
mov al, byte [esi + 0x4daf0]
movzx ecx, byte [esi + 0x23190]
mov edx, dword [esi + 0x22998]
mov ebx, dword [esi + 0x22994]
and edx, 3
mov byte [ebp + 0xb], al
and ebx, 3
mov eax, dword [esi + 0x23194]
and eax, 1
shl eax, 7
or eax, edi
mov edi, ecx
and edi, 1
mov dword [esi + 0x321a8], eax
mov eax, dword [esi + 0x21d80]
xor ecx, ecx
shl edi, 2
and eax, 0x3f
or edi, edx
mov edx, dword [esi + 0x21ad4]
shl edi, 2
or edi, ebx
mov ebx, 0x1000000
shl edi, 0x18
or edi, eax
mov eax, 0x800000
add edi, edi
cmp byte [ebp + 0xb], cl
cmovne ecx, eax
mov eax, dword [esi + 0x321e0]
and eax, 0xff7fff80
or ecx, eax
mov eax, edx
and eax, 1
or ecx, eax
xor eax, eax
and ecx, 0xfeffffff
cmp byte [esi + 0x22991], al
cmovne eax, ebx
mov ebx, 0x40000000
or ecx, eax
xor eax, eax
and ecx, 0x81ffffff
or edi, ecx
mov cl, byte [esi + 0x23191]
test cl, cl
cmovne eax, ebx
or edi, eax
test cl, cl
je 0x103a4ec4
cmp dword [esi + 0x22ff8], 0
jle 0x103a4ec4
mov eax, 0x80000000
jmp 0x103a4ec6
xor eax, eax
and edi, 0x7fffffff
or edi, eax
mov dword [esi + 0x321e0], edi
test edx, edx
jne 0x103a500e
mov edx, dword [esi + 0x21ad8]
test edx, edx
je 0x103a4f11
mov eax, dword [ebp - 8]
mov eax, dword [eax]
sub eax, dword [esi + 0x21adc]
dec eax
imul ecx, eax, 0x2a8
mov ax, word [ecx + esi + 0x141d8]
mov word [esi + 0x321ec], ax
movzx eax, word [ecx + esi + 0x141dc]
jmp 0x103a4f26
mov ax, word [esi + 0x21b70]
mov word [esi + 0x321ec], ax
movzx eax, word [esi + 0x21b74]
mov word [esi + 0x321ee], ax
lea edi, [esi + 0x32212]
mov eax, dword [esi + 0x321e4]
xor ebx, ebx
test edx, edx
setne bl
and eax, 0xfffffffe
or ebx, eax
mov dword [esi + 0x321e4], ebx
mov edx, dword [esi + 0x21ae0]
mov eax, dword [esi + 0x21ae4]
neg edx
mov ecx, dword [esi + 0x21ae0]
sbb edx, edx
shl eax, 8
and edx, 0x80
xor edx, eax
mov eax, dword [esi + 0x21adc]
and edx, 0xffff00
neg ecx
sbb ecx, ecx
and eax, 0x3f
and ecx, 0x80
add eax, eax
or ecx, eax
and ebx, 0xff000001
xor edx, ecx
or edx, ebx
xor ecx, ecx
mov dword [esi + 0x321e4], edx
lea edx, [esi + 0x21b2c]
movzx eax, word [edx - 0x44]
lea edi, [edi + 2]
and ax, 1
lea edx, [edx + 4]
shl ax, cl
or word [esi + 0x321e8], ax
movzx eax, word [edx - 4]
and ax, 1
shl ax, cl
or word [esi + 0x321ea], ax
movzx eax, word [edx + 0x48]
mov word [edi - 0x24], ax
movzx eax, word [edx + 0xc8]
mov word [edi - 2], ax
movzx eax, word [edx + 0x88]
and ax, 1
shl ax, cl
or word [esi + 0x32210], ax
movzx eax, word [edx + 0x108]
and ax, 1
shl ax, cl
inc ecx
or word [esi + 0x32232], ax
cmp ecx, 0x10
jl 0x103a4fa1
mov edx, dword [esi + 0x21d88]
mov ecx, edx
mov edi, dword [esi + 0x21d84]
and ecx, 0x1f
shl ecx, 5
mov eax, edi
and eax, 0x1f
or ecx, eax
mov eax, dword [esi + 0x32234]
and eax, 0xfffffc00
or ecx, eax
lea eax, [edx + edi]
mov dword [esi + 0x32234], ecx
xor ecx, ecx
test eax, eax
jle 0x103a50aa
lea edi, [esi + 0x32248]
lea edx, [esi + 0x21dc8]
mov al, byte [edx - 0x3c]
lea edi, [edi + 2]
mov byte [esi + ecx + 0x32238], al
lea edx, [edx + 4]
movzx eax, word [edx - 4]
mov word [edi - 2], ax
movzx eax, word [edx + 0x38]
and ax, 1
shl ax, cl
or word [esi + 0x32268], ax
movzx eax, word [edx + 0x74]
and ax, 1
shl ax, cl
inc ecx
or word [esi + 0x3226a], ax
mov eax, dword [edx + 0xb0]
mov dword [edx + 0x104a0], eax
mov eax, dword [esi + 0x21d88]
add eax, dword [esi + 0x21d84]
cmp ecx, eax
jl 0x103a5051
movzx ecx, byte [esi + 0x47d8e]
mov edx, 0xff
mov ax, word [esi + 0x47d8c]
and ax, dx
shl cx, 8
or cx, ax
mov word [esi + 0x322ee], cx
xor ecx, ecx
mov edx, dword [esi + 0x22974]
imul edx, dword [esi + 0x22970]
cmp edx, 1
jle 0x103a50ee
mov eax, 1
rol eax, 1
inc ecx
cmp eax, edx
jl 0x103a50e7
shl ecx, 8
lea edx, [esi + 0x21f58]
xor ecx, dword [esi + 0x321cc]
mov edi, 0x10
and ecx, 0x3f00
xor dword [esi + 0x321cc], ecx
mov ecx, dword [esi + 0x21f54]
mov eax, dword [esi + 0x21ed0]
and ecx, 1
and eax, 1
add ecx, ecx
or ecx, eax
mov eax, dword [esi + 0x47b58]
add eax, dword [esi + 0x47b50]
add eax, dword [esi + 0x47b4c]
and eax, 0x1f
shl ecx, 5
or ecx, eax
mov eax, dword [esi + 0x322ac]
and eax, 0xffffff80
or ecx, eax
mov dword [esi + 0x322ac], ecx
lea ecx, [esi + 0x322c0]
nop word [eax + eax]
mov al, byte [edx - 0x84]
lea edx, [edx + 4]
mov byte [ecx - 0x10], al
lea ecx, [ecx + 1]
mov al, byte [edx - 4]
mov byte [ecx - 1], al
sub edi, 1
jne 0x103a5160
mov al, byte [esi + 0x23147]
mov byte [esi + 0x322da], al
mov edx, dword [esi + 0x4e6a8]
mov eax, dword [edx + 8]
mov eax, dword [eax + 0x1c]
test dword [eax + 0x44], 0x8000000
jne 0x103a51ad
test dword [eax + 0x4c], 0x100
jne 0x103a51ad
test dword [eax + 0x48], 0x800000
je 0x103a51b9
mov eax, 8
mov word [esi + 0x322ec], ax
xor ecx, ecx
mov byte [ebp + 8], 0
cmp byte [esi + 0x4e6b4], cl
mov eax, 0x300
cmovne ecx, eax
mov eax, dword [esi + 0x321a8]
and eax, 0xfffffcff
or ecx, eax
mov dword [esi + 0x321a8], ecx
mov eax, dword [edx + 8]
mov eax, dword [eax + 0x1c]
test dword [eax + 0x48], 0x800000
je 0x103a51fd
or dword [esi + 0x32330], 0x80000000
mov byte [ebp + 8], 1
push dword [ebp + 8]
movzx eax, word [esi + 0x3206a]
mov ecx, esi
inc eax
push eax
movzx eax, word [esi + 0x32068]
inc eax
push eax
call fcn.103e5870
mov ecx, dword [esi + 0x32330]
xor ecx, eax
and ecx, 0x7fffffff
xor dword [esi + 0x32330], ecx
lea ecx, [esi + 0x32334]
cmp byte [esi + 0x23150], 0
jne 0x103a5253
mov eax, dword [ecx]
and eax, 0xff00000e
pop edi
or eax, 0xe
pop esi
mov dword [ecx], eax
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
lea eax, [esi + 0x23198]
test ecx, ecx
je 0x103a5276
test eax, eax
je 0x103a5270
mov eax, dword [eax]
pop edi
pop esi
mov dword [ecx], eax
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [ecx], 0
call fcn.1043a2d6
mov dword [eax], 0x16
call fcn.1043a1d8
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8