Function at 0x101377d0
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 4]
push edi
mov edi, ecx
cmp eax, 1
jne 0x101377e5
call fcn.10136b60
pop edi
ret 0xc
cmp eax, 2
jne 0x10137836
call fcn.1013c960
mov ecx, edi
mov word [edi + 0x4fc], ax
call fcn.1013c960
movzx eax, ax
movd xmm1, eax
movzx eax, word [edi + 0x6f8]
cvtdq2ps xmm1, xmm1
movss dword [edi + 0x540], xmm1
cmp eax, 1
jbe 0x10138984
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [edi + 0x540], xmm1
pop edi
ret 0xc
cmp eax, 4
jne 0x10137952
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0x18
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.1013c960
movzx eax, ax
test ax, ax
je 0x10137872
cwde
add eax, 0xffffff80
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x2abec], xmm0
mov ecx, edi
call fcn.1013c960
movzx eax, ax
cmp ax, 0xffff
je 0x1013789a
cwde
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102c7cbc]
movss dword [edi + 0x2abe8], xmm0
mov ecx, edi
call fcn.1013c960
mov ecx, edi
call fcn.1013c960
movzx eax, ax
push eax
call fcn.10160320
mov ecx, dword [edi + 0x54800]
add esp, 4
fstp dword [edi + 0x2abe4]
mov eax, dword [ecx]
push 1
push 0xffffffffffffffff
push 0xffffffffffffffe8
call dword [eax + 0xc]
mov ecx, edi
call fcn.1013c960
movzx eax, ax
mov ecx, 0x7fff
cmp ax, cx
je 0x101378ee
push eax
call fcn.101602a0
fstp dword [edi + 0x544]
add esp, 4
movss xmm0, dword [0x102c7ce8]
comiss xmm0, dword [edi + 0x544]
jbe 0x10137929
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0x20
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.1013c960
movzx eax, ax
push eax
call fcn.101602a0
fstp dword [edi + 0x544]
add esp, 4
movss xmm0, dword [edi + 0x2a8e0]
ucomiss xmm0, dword [0x103f929c]
lahf
test ah, 0x44
jp 0x10138984
mov eax, dword [edi + 0x544]
mov dword [edi + 0x2a8e0], eax
pop edi
ret 0xc
cmp eax, 0xc
jne 0x10137975
call fcn.10135240
push eax
lea eax, [edi + 0xd74]
push 0x103f1180
push eax
call fcn.10007a60
add esp, 0xc
pop edi
ret 0xc
push esi
cmp eax, 0x95
jne 0x10137a80
cmp byte [edi + 0x428], 0
lea esi, [edi + 0x428]
jne 0x10138983
mov ecx, dword [edi + 0x54800]
push 1
push 2
push esi
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, 3
mov word [edi + 0x4aa], ax
mov al, byte [esi]
push 1
cmp al, 0x41
jge 0x101379d1
mov ecx, dword [edi + 0x54800]
lea eax, [edi + 0x42a]
push 0x3e
push eax
mov edx, dword [ecx]
call dword [edx + 8]
pop esi
pop edi
ret 0xc
mov byte [edi + 0x4fe], al
lea edx, [esp + 0x10]
mov al, byte [edi + 0x429]
mov byte [edi + 0x4ff], al
mov ecx, dword [edi + 0x54800]
push 2
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov ax, word [esp + 0xc]
cmp al, 0x2d
jne 0x10137a52
cmp ah, 0x53
je 0x10137a0d
cmp ah, 0x45
je 0x10137a0d
cmp ah, 0x4d
jne 0x10137a52
mov byte [edi + 0x500], 0x2d
mov byte [edi + 0x42a], 0x2d
mov byte [edi + 0x501], ah
mov byte [edi + 0x42b], ah
mov byte [edi + 0x42c], 0x20
cmp ah, 0x53
jne 0x10137a3f
mov dword [edi + 0x4a8], 0x40001
jmp 0x10137a65
cmp ah, 0x4d
jne 0x10137a65
mov eax, 5
mov word [edi + 0x4aa], ax
jmp 0x10137a65
mov byte [edi + 0x42a], 0x20
mov byte [edi + 0x42b], al
mov byte [edi + 0x42c], ah
mov ecx, dword [edi + 0x54800]
lea eax, [edi + 0x42d]
push 1
push 0x3a
push eax
mov edx, dword [ecx]
call dword [edx + 8]
pop esi
pop edi
ret 0xc
cmp eax, 0x9a
jne 0x10137ac9
call fcn.10135240
mov ecx, edi
call fcn.10135240
mov ecx, edi
mov word [edi + 0xb8], ax
call fcn.10135240
mov ecx, edi
mov word [edi + 0xba], ax
call fcn.10135240
mov ecx, edi
mov word [edi + 0xb4], ax
call fcn.10135240
pop esi
mov word [edi + 0xb6], ax
pop edi
ret 0xc
push ebx
cmp eax, 0xa9
jne 0x10137b33
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [edi + 0x54800]
mov ebx, eax
push 1
push 0
push 2
mov edx, dword [ecx]
call dword [edx + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x10137af3
push 0
push 0
mov ecx, edi
call fcn.10137080
mov ecx, dword [edi + 0x54800]
mov eax, ebx
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
pop ebx
pop esi
pop edi
ret 0xc
cmp eax, 0xe0
jne 0x10137be3
call fcn.1013c960
mov ecx, edi
call fcn.1013c960
mov ecx, edi
mov word [edi + 0x968], ax
call fcn.1013c960
mov ecx, edi
mov word [edi + 0x96a], ax
call fcn.1013c960
mov ecx, edi
call fcn.1013c960
mov ecx, edi
call fcn.1013c960
mov ecx, edi
mov word [edi + 0x96c], ax
call fcn.1013c960
mov ecx, edi
mov word [edi + 0x96e], ax
call fcn.1013c960
mov ecx, edi
mov word [edi + 0x970], ax
call fcn.1013c960
mov ecx, edi
mov word [edi + 0x972], ax
call fcn.1013c960
mov ecx, edi
mov word [edi + 0x974], ax
call fcn.1013c960
mov ecx, edi
mov word [edi + 0x976], ax
call fcn.1013c960
mov ecx, edi
mov word [edi + 0x978], ax
call fcn.1013c960
pop ebx
pop esi
mov word [edi + 0x97a], ax
pop edi
ret 0xc
cmp eax, 0x4013
jne 0x10137c58
call fcn.10135240
mov ecx, edi
call fcn.10135240
mov ecx, edi
mov dword [edi + 0x97c], eax
call fcn.10135240
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f9b80]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x10], xmm0
call fcn.10135240
movss xmm1, dword [esp + 0x10]
pop ebx
pop esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f9b80]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [edi + 0x980], xmm1
pop edi
ret 0xc
cmp eax, 0x4001
jne 0x10138982
mov esi, dword [esp + 0x18]
cmp esi, 0x1f4
jbe 0x10138982
mov ecx, dword [edi + 0x54800]
push ebp
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ebx, eax
mov dword [esp + 0x1c], ebx
cmp esi, 0x521
ja 0x10138250
cmp esi, 0x520
jae case.0x10138278.1316
cmp esi, 0x31c
ja 0x10138105
je 0x10137ee4
add esi, 0xfffffdba
cmp esi, 0x78
ja case.0x10138278.1317
movzx eax, byte [esi + 0x10138998]
jmp dword [eax*4 + 0x10138988]
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x3c]
push 0
cdq
mov dword [edi + 0x700], 1
mov esi, dword [ecx]
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x10137cf0
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x82]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29930], ecx
cmp esi, 4
jl 0x10137d25
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x8c]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop word [eax + eax]
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29940], ecx
cmp esi, 4
jl 0x10137d60
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x46]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 2
push 2
mov ecx, edi
call fcn.10137080
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x96]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 1
mov ecx, edi
call fcn.10137320
jmp case.0x10138278.1317
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x30]
push 0
cdq
mov dword [edi + 0x700], 2
mov esi, dword [ecx]
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
nop
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x10137de0
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x120]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29930], ecx
cmp esi, 4
jl 0x10137e15
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x12a]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop word [eax + eax]
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29940], ecx
cmp esi, 4
jl 0x10137e50
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x134]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29960], ecx
cmp esi, 4
jl 0x10137e85
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x4e]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0xc
push 2
mov ecx, edi
call fcn.10137080
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x148]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 1
mov ecx, edi
call fcn.10137320
jmp case.0x10138278.1317
mov ecx, edi
mov dword [edi + 0x700], 3
call fcn.1013c960
mov ecx, dword [edi + 0x54800]
movzx eax, ax
mov dword [edi + 0x704], eax
lea eax, [ebx + 0x88]
push 0
mov esi, dword [ecx]
cdq
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x10137f16
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x92]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop dword [eax + eax]
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x299d0], ecx
cmp esi, 4
jl 0x10137f50
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0xe2]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29930], ecx
cmp esi, 4
jl 0x10137f85
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0xec]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop word [eax + eax]
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29940], ecx
cmp esi, 4
jl 0x10137fc0
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0xf6]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29960], ecx
cmp esi, 4
jl 0x10137ff5
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x100]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop word [eax + eax]
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298c0], ecx
cmp esi, 4
jl 0x10138030
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x9c]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0xc
push 2
mov ecx, edi
call fcn.10137080
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x10a]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0
mov ecx, edi
call fcn.10137320
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x188]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor ebp, ebp
lea esi, [edi + 0x710]
lea ebx, [ebp + 4]
nop
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x14]
push 2
mov word [esp + 0x18], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x101380e5
movzx ecx, byte [esp + 0x15]
movzx eax, byte [esp + 0x14]
jmp 0x101380ef
movzx ecx, byte [esp + 0x14]
movzx eax, byte [esp + 0x15]
shl ecx, 8
or ecx, eax
mov dword [esi], ecx
add ebp, ecx
add esi, 4
sub ebx, 1
jne 0x101380b0
jmp 0x1013895a
add esi, 0xfffffb35
cmp esi, 0x30
ja case.0x10138278.1317
movzx eax, byte [esi + 0x10138a20]
jmp dword [eax*4 + 0x10138a14]
mov ecx, edi
mov dword [edi + 0x700], 6
call fcn.1013c960
mov ecx, dword [edi + 0x54800]
movzx eax, ax
mov dword [edi + 0x704], eax
lea eax, [ebx + 0x88]
push 0
mov esi, dword [ecx]
cdq
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x10138154
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x92]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x299d0], ecx
cmp esi, 4
jl 0x10138190
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0xce]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0xc
push 2
mov ecx, edi
call fcn.10137080
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x178]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0
mov ecx, edi
call fcn.10137320
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x1f6]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor ebp, ebp
lea esi, [edi + 0x710]
lea ebx, [ebp + 4]
nop
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
lea esi, [esi + 4]
add ebp, ecx
mov dword [esi - 4], ecx
sub ebx, 1
jne 0x10138210
mov ecx, dword [edi + 0x54800]
mov eax, ebp
cdq
and edx, 3
add eax, edx
push ebx
mov ebx, dword [esp + 0x20]
sar eax, 2
mov dword [edi + 0x720], eax
mov esi, dword [ecx]
lea eax, [ebx + 0x3c6]
jmp 0x10138698
cmp esi, 0x5e2
ja 0x1013854a
je case.0x10138278.1316
add esi, 0xfffffadc
cmp esi, 0x25
ja case.0x10138278.1317
movzx eax, byte [esi + 0x10138a64]
jmp dword [eax*4 + 0x10138a54]
mov ecx, edi
mov dword [edi + 0x700], 4
call fcn.1013c960
mov ecx, dword [edi + 0x54800]
movzx eax, ax
mov dword [edi + 0x704], eax
lea eax, [ebx + 0x88]
push 0
mov esi, dword [ecx]
cdq
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x101382b1
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x92]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x299d0], ecx
cmp esi, 4
jl 0x101382e6
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0xa6]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0xc
push 2
mov ecx, edi
call fcn.10137080
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x150]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0
mov ecx, edi
call fcn.10137320
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x1ce]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor ebp, ebp
lea esi, [edi + 0x710]
lea ebx, [ebp + 4]
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
lea esi, [esi + 4]
add ebp, ecx
mov dword [esi - 4], ecx
sub ebx, 1
jne 0x10138364
mov ebx, dword [esp + 0x1c]
mov eax, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [edi + 0x720], eax
mov eax, dword [edi + 0x704]
cmp eax, 4
je 0x101383dd
cmp eax, 5
je 0x101383dd
cmp eax, 6
je 0x101383c8
cmp eax, 7
je 0x101383c8
cmp eax, 9
jne case.0x10138278.1317
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x5a6]
push 0
mov esi, dword [ecx]
jmp 0x10138698
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x59e]
push 0
mov esi, dword [ecx]
jmp 0x10138698
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x570]
push 0
mov esi, dword [ecx]
jmp 0x10138698
mov ecx, edi
mov dword [edi + 0x700], 7
call fcn.1013c960
mov ecx, dword [edi + 0x54800]
movzx eax, ax
mov dword [edi + 0x704], eax
lea eax, [ebx + 0x88]
push 0
mov esi, dword [ecx]
cdq
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x10138424
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x92]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x299d0], ecx
cmp esi, 4
jl 0x10138460
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x100]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0xc
push 2
mov ecx, edi
call fcn.10137080
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x1aa]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0
mov ecx, edi
call fcn.10137320
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x228]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor ebp, ebp
lea esi, [edi + 0x710]
lea ebx, [ebp + 4]
nop
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
lea esi, [esi + 4]
add ebp, ecx
mov dword [esi - 4], ecx
sub ebx, 1
jne 0x101384e0
mov ebx, dword [esp + 0x1c]
mov eax, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [edi + 0x720], eax
mov eax, dword [edi + 0x704]
cmp eax, 0xa
jne 0x1013852c
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x3f8]
push 0
mov esi, dword [ecx]
jmp 0x10138698
cmp eax, 0xb
jne case.0x10138278.1317
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x5b8]
push 0
mov esi, dword [ecx]
jmp 0x10138698
cmp esi, 0x642
ja 0x101386f5
je case.0x10138278.1353
sub esi, 0x618
je case.0x10138278.1353
sub esi, 0x20
jne case.0x10138278.1317
mov ecx, edi
mov dword [edi + 0x700], 8
call fcn.1013c960
mov ecx, dword [edi + 0x54800]
movzx eax, ax
mov dword [edi + 0x704], eax
lea eax, [ebx + 0x88]
push 0
mov esi, dword [ecx]
cdq
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
nop dword [eax + eax]
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x101385a0
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x92]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x299d0], ecx
cmp esi, 4
jl 0x101385d5
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x10a]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0xc
push 2
mov ecx, edi
call fcn.10137080
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x20e]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0
mov ecx, edi
call fcn.10137320
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x28c]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor ebp, ebp
lea esi, [edi + 0x710]
lea ebx, [ebp + 4]
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
lea esi, [esi + 4]
add ebp, ecx
mov dword [esi - 4], ecx
sub ebx, 1
jne 0x10138653
mov ecx, dword [edi + 0x54800]
mov eax, ebp
mov ebx, dword [esp + 0x1c]
cdq
and edx, 3
add eax, edx
sar eax, 2
cmp dword [edi + 0x704], 0xe
mov dword [edi + 0x720], eax
mov esi, dword [ecx]
push 0
jne 0x101386ed
lea eax, [ebx + 0x460]
cdq
push edx
push eax
call dword [esi + 0xc]
mov ecx, edi
call fcn.1013c960
movzx eax, ax
mov ecx, edi
mov dword [edi + 0x70c], eax
call fcn.1013c960
movzx eax, ax
mov dword [edi + 0x708], eax
mov dword [edi + 0x24f5c], eax
mov eax, dword [edi + 0x708]
mov dword [edi + 0x24f60], eax
mov eax, dword [edi + 0x708]
mov dword [edi + 0x24f64], eax
mov eax, dword [edi + 0x708]
mov dword [edi + 0x24f68], eax
jmp case.0x10138278.1317
lea eax, [ebx + 0x61c]
jmp 0x10138698
cmp esi, 0x1400
jne case.0x10138278.1317
mov eax, dword [edi + 0x5484c]
mov dword [edi + 0x700], 5
cmp eax, 0x3970000
je 0x10138829
cmp eax, 0x4100000
je 0x10138829
cmp eax, 0x4180000
je 0x10138829
cmp eax, 0x80000394
je 0x10138829
cmp eax, 0x80000398
je 0x10138829
cmp eax, 0x80000407
je 0x10138829
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x98]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop dword [eax + eax]
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x10138770
mov ecx, edi
call fcn.1013c960
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x299d0], ecx
cmp esi, 4
jl 0x10138796
mov ecx, edi
call fcn.1013c960
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x2a380], ecx
cmp esi, 4
jl 0x101387c0
mov ecx, edi
call fcn.1013c960
push 0xc
push 2
mov ecx, edi
call fcn.10137080
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x174]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 2
mov ecx, edi
call fcn.10137320
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x210]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
jmp 0x10138938
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x9e]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x10138841
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 8
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x299d0], ecx
cmp esi, 4
jl 0x10138871
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 8
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x2a380], ecx
cmp esi, 4
jl 0x101388a1
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 8
mov eax, dword [ecx]
call dword [eax + 0xc]
push 0x18
push 8
mov ecx, edi
call fcn.10137080
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0xa8
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
mov eax, esi
sar eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29480], ecx
cmp esi, 4
jl 0x101388f0
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0x18
mov eax, dword [ecx]
call dword [eax + 0xc]
push 2
mov ecx, edi
call fcn.10137320
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 6
mov eax, dword [ecx]
call dword [eax + 0xc]
xor ebp, ebp
lea esi, [edi + 0x710]
lea ebx, [ebp + 4]
mov ecx, edi
call fcn.1013c960
movzx ecx, ax
lea esi, [esi + 4]
add ebp, ecx
mov dword [esi - 4], ecx
sub ebx, 1
jne 0x10138943
mov ebx, dword [esp + 0x1c]
mov eax, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [edi + 0x720], eax
mov ecx, dword [edi + 0x54800]
mov eax, ebx
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
pop ebp
pop ebx
pop esi
pop edi
ret 0xc