Function at 0x10068cf0
Capabilities:
Inspect section memory permissions

Disassembly:
mov eax, 0x1428
call fcn.100ea030
mov eax, ecx
mov byte [esp + 2], 0
xor ecx, ecx
mov dword [esp + 4], eax
push ebx
push ebp
push esi
mov esi, dword [eax]
mov ebx, edx
mov word [esp + 0x14], cx
xor edx, edx
mov byte [esp + 0x16], cl
xor ebp, ebp
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [eax + 8], ecx
mov dword [eax + 4], ecx
mov dword [eax + 0xc], ecx
mov ecx, esi
push edi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x13], 0
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], 1
call fcn.10067870
test eax, eax
je 0x10068ffc
cmp ebx, 1
je 0x10069b00
mov ecx, esi
call fcn.100664e0
mov ecx, esi
mov ebx, eax
call fcn.100664e0
shl ebx, 0x10
mov ecx, esi
add ebx, eax
call fcn.100664e0
mov ecx, esi
mov edi, eax
call fcn.100664e0
shl edi, 0x10
add eax, edi
cmp eax, 0x49484452
ja 0x10069404
je 0x1006906b
cmp eax, 0x43674249
je 0x10069036
cmp eax, 0x49444154
je 0x10068f32
cmp eax, 0x49454e44
jne 0x1006941a
cmp dword [esp + 0x20], 0
jne 0x10068ffc
cmp dword [esp + 0x30], 0
jne 0x10069b00
mov ebp, dword [esp + 0x14]
mov ebx, dword [ebp + 4]
test ebx, ebx
je 0x10068ffc
mov edi, dword [esi]
imul edi, dword [ebp + 0x10]
add edi, 7
shr edi, 3
imul edi, dword [esi + 8]
inc edi
imul edi, dword [esi + 4]
push edi
call fcn.100f6549
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x10069acb
mov eax, dword [esp + 0x34]
xor edx, edx
add eax, ebx
mov dword [esp + 0x464], ecx
cmp dword [esp + 0x3c], edx
mov dword [esp + 0x454], eax
lea eax, [ecx + edi]
mov dword [esp + 0x460], ecx
sete dl
lea ecx, [esp + 0x450]
mov dword [esp + 0x450], ebx
mov dword [esp + 0x468], eax
mov dword [esp + 0x46c], 1
call fcn.10067750
test eax, eax
je 0x10069abc
mov eax, dword [esp + 0x464]
mov edi, dword [esp + 0x460]
sub edi, eax
mov dword [ebp + 8], eax
test eax, eax
je 0x10068ffc
push dword [ebp + 4]
call fcn.100f57a7
mov edx, dword [esp + 0x1440]
add esp, 4
mov dword [ebp + 4], 0
mov ecx, dword [esi + 8]
lea eax, [ecx + 1]
cmp edx, eax
jne 0x10068eb1
cmp edx, 3
je 0x10068eb1
cmp byte [esp + 0x12], 0
je 0x10069818
mov bl, byte [esp + 0x13]
test bl, bl
jne 0x10068ebb
mov eax, ecx
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x3c]
push ecx
mov dword [esi + 0xc], eax
mov ecx, ebp
push dword [ebp + 0x10]
mov edx, dword [ebp + 8]
push eax
push edi
call fcn.100689f0
test eax, eax
je 0x10068ffc
test bl, bl
je 0x1006989d
mov eax, dword [ebp]
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax + 4]
imul edx, dword [eax]
cmp dword [ebp + 0x10], 0x10
jne 0x10069855
test edx, edx
je 0x1006989d
cmp dword [esi + 0xc], 2
jne 0x10069821
mov di, word [esp + 0x48]
xor ebx, ebx
mov eax, 0xffff
cmp word [ecx], di
cmove eax, ebx
mov word [ecx + 2], ax
add ecx, 4
sub edx, 1
jne 0x10068f14
jmp 0x1006989d
cmp dword [esp + 0x20], 0
jne 0x10068ffc
mov al, byte [esp + 0x12]
test al, al
je 0x10068f50
cmp dword [esp + 0x2c], 0
je 0x10068ffc
cmp dword [esp + 0x30], 2
je 0x10069ae1
mov eax, dword [esp + 0x34]
lea edi, [ebx + eax]
cmp edi, eax
jl 0x10068ffc
cmp edi, ebp
jbe 0x10068fab
test ebp, ebp
jne 0x10068f80
mov ebp, 0x1000
cmp ebx, ebp
cmova ebp, ebx
mov dword [esp + 0x28], ebp
cmp edi, ebp
jbe 0x10068f8e
add ebp, ebp
cmp edi, ebp
ja 0x10068f84
mov dword [esp + 0x28], ebp
push ebp
mov ebp, dword [esp + 0x18]
push dword [ebp + 4]
call fcn.100f653e
add esp, 8
test eax, eax
je 0x10068ffc
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x34]
jmp 0x10068faf
mov ebp, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
add ecx, eax
cmp dword [esi + 0x10], 0
mov dword [esp + 0x40], ecx
je 0x1006900b
mov ebp, dword [esi + 0xb0]
mov eax, dword [esi + 0xac]
sub ebp, eax
cmp ebp, ebx
jge 0x1006900b
push ebp
push eax
push ecx
call fcn.100ea8d0
mov edx, dword [esp + 0x4c]
add esp, 0xc
mov eax, dword [esi + 0x10]
sub ebx, ebp
mov ecx, dword [esi + 0x1c]
add edx, ebp
push ebx
call eax
mov ecx, dword [esi + 0xb0]
mov dword [esi + 0xac], ecx
cmp eax, ebx
je 0x1006902d
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1428
ret 4
mov edx, dword [esi + 0xac]
lea eax, [edx + ebx]
cmp eax, dword [esi + 0xb0]
ja 0x10068ffc
push ebx
push edx
push ecx
call fcn.100ea8d0
add esp, 0xc
add dword [esi + 0xac], ebx
mov dword [esp + 0x34], edi
jmp 0x10069801
mov dword [esp + 0x3c], 1
test ebx, ebx
je 0x10069805
jns 0x10069459
mov eax, dword [esi + 0xb0]
mov ecx, esi
mov dword [esi + 0xac], eax
call fcn.100664e0
mov ecx, esi
call fcn.100664e0
jmp 0x10068d66
cmp dword [esp + 0x20], 0
je 0x10068ffc
mov dword [esp + 0x20], 0
cmp ebx, 0xd
jne 0x10068ffc
mov ecx, esi
call fcn.100664e0
mov ecx, esi
mov edi, eax
call fcn.100664e0
shl edi, 0x10
mov ecx, esi
add eax, edi
mov dword [esi], eax
call fcn.100664e0
mov ecx, esi
mov edi, eax
call fcn.100664e0
shl edi, 0x10
add eax, edi
mov dword [esi + 4], eax
cmp eax, 0x1000000
ja 0x10068ffc
cmp dword [esi], 0x1000000
ja 0x10068ffc
mov eax, dword [esi + 0xac]
lea edi, [esi + 0x20]
cmp eax, dword [esi + 0xb0]
jae 0x100690e5
mov cl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x10069146
cmp dword [edi], 0
je 0x10069144
push dword [esi + 0x24]
mov eax, dword [esi + 0x10]
lea edx, [esi + 0x28]
mov ecx, dword [esi + 0x1c]
call eax
mov ecx, dword [esi + 0xac]
sub ecx, dword [esi + 0xb4]
add dword [esi + 0xa8], ecx
test eax, eax
jne 0x1006912b
mov dword [edi], eax
lea eax, [esi + 0x29]
mov dword [esi + 0xb0], eax
lea eax, [esi + 0x29]
mov byte [esi + 0x28], 0
mov cl, byte [esi + 0x28]
mov dword [esi + 0xac], eax
jmp 0x10069146
add eax, 0x28
add eax, esi
mov dword [esi + 0xb0], eax
lea eax, [esi + 0x29]
mov cl, byte [esi + 0x28]
mov dword [esi + 0xac], eax
jmp 0x10069146
xor cl, cl
mov ebx, dword [esp + 0x14]
movzx eax, cl
mov dword [ebx + 0x10], eax
cmp eax, 1
je 0x1006916d
cmp eax, 2
je 0x1006916d
cmp eax, 4
je 0x1006916d
cmp eax, 8
je 0x1006916d
cmp eax, 0x10
jne 0x10068ffc
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0xb0]
cmp eax, ecx
jae 0x10069188
mov dl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x100691ea
cmp dword [edi], 0
je 0x100691e8
push dword [esi + 0x24]
mov eax, dword [esi + 0x10]
lea ebx, [esi + 0x28]
mov ecx, dword [esi + 0x1c]
mov edx, ebx
call eax
mov ecx, dword [esi + 0xac]
sub ecx, dword [esi + 0xb4]
add dword [esi + 0xa8], ecx
mov dword [esi + 0xac], ebx
test eax, eax
jne 0x100691c8
lea ecx, [esi + 0x29]
mov dword [edi], eax
mov dword [esi + 0xb0], ecx
mov byte [ebx], al
jmp 0x100691d3
lea ecx, [esi + 0x28]
add ecx, eax
mov dword [esi + 0xb0], ecx
mov eax, dword [esi + 0xac]
mov ebx, dword [esp + 0x14]
mov dl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x100691ea
xor dl, dl
movzx edx, dl
mov dword [esp + 0x38], edx
cmp edx, 6
ja 0x10068ffc
cmp edx, 3
jne 0x1006920f
cmp dword [ebx + 0x10], 0x10
je 0x10068ffc
mov byte [esp + 0x12], dl
jmp 0x10069218
test dl, 1
jne 0x10068ffc
cmp eax, ecx
jb 0x10069271
cmp dword [edi], 0
je 0x10069367
push dword [esi + 0x24]
mov eax, dword [esi + 0x10]
lea ebx, [esi + 0x28]
mov ecx, dword [esi + 0x1c]
mov edx, ebx
call eax
mov ecx, dword [esi + 0xac]
sub ecx, dword [esi + 0xb4]
add dword [esi + 0xa8], ecx
mov dword [esi + 0xac], ebx
test eax, eax
jne 0x10069260
lea ecx, [esi + 0x29]
mov dword [edi], eax
mov dword [esi + 0xb0], ecx
mov byte [ebx], al
jmp 0x1006926b
lea ecx, [esi + 0x28]
add ecx, eax
mov dword [esi + 0xb0], ecx
mov eax, dword [esi + 0xac]
mov dl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
test dl, dl
jne 0x10068ffc
cmp eax, ecx
jb 0x100692db
cmp dword [edi], 0
je 0x10069367
push dword [esi + 0x24]
mov eax, dword [esi + 0x10]
lea ebx, [esi + 0x28]
mov ecx, dword [esi + 0x1c]
mov edx, ebx
call eax
mov ecx, dword [esi + 0xac]
sub ecx, dword [esi + 0xb4]
add dword [esi + 0xa8], ecx
mov dword [esi + 0xac], ebx
test eax, eax
jne 0x100692ca
lea ecx, [esi + 0x29]
mov dword [edi], eax
mov dword [esi + 0xb0], ecx
mov byte [ebx], al
jmp 0x100692d5
lea ecx, [esi + 0x28]
add ecx, eax
mov dword [esi + 0xb0], ecx
mov eax, dword [esi + 0xac]
mov dl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
test dl, dl
jne 0x10068ffc
cmp eax, ecx
jae 0x100692fb
mov cl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x10069369
cmp dword [edi], 0
je 0x10069367
push dword [esi + 0x24]
mov eax, dword [esi + 0x10]
lea ebx, [esi + 0x28]
mov ecx, dword [esi + 0x1c]
mov edx, ebx
call eax
mov ecx, dword [esi + 0xac]
sub ecx, dword [esi + 0xb4]
add dword [esi + 0xa8], ecx
mov dword [esi + 0xac], ebx
test eax, eax
jne 0x1006934b
mov dword [edi], eax
lea eax, [esi + 0x29]
mov dword [esi + 0xb0], eax
mov byte [ebx], 0
mov eax, dword [esi + 0xac]
mov cl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x10069369
add eax, 0x28
add eax, esi
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0xac]
mov cl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x10069369
xor cl, cl
movzx eax, cl
mov dword [esp + 0x24], eax
cmp eax, 1
ja 0x10068ffc
mov ecx, dword [esi]
test ecx, ecx
je 0x10068ffc
mov edi, dword [esi + 4]
test edi, edi
je 0x10068ffc
xor edx, edx
mov eax, 0x40000000
div ecx
cmp byte [esp + 0x12], 0
jne 0x100693df
mov ecx, dword [esp + 0x38]
mov edx, ecx
shr edx, 2
and ecx, 2
and edx, 1
or ecx, 1
add ecx, edx
xor edx, edx
div ecx
mov dword [esi + 8], ecx
cmp eax, edi
jb 0x10068ffc
cmp dword [esp + 0x30], 2
je 0x10069b00
mov ecx, esi
call fcn.100664e0
mov ecx, esi
call fcn.100664e0
jmp 0x10068d66
shr eax, 2
mov dword [esi + 8], 1
cmp eax, edi
jb 0x10068ffc
mov ecx, esi
call fcn.100664e0
mov ecx, esi
call fcn.100664e0
jmp 0x10068d66
cmp eax, 0x504c5445
je 0x10069624
cmp eax, 0x74524e53
je 0x100694af
cmp dword [esp + 0x20], 0
jne 0x10068ffc
test eax, 0x20000000
je 0x10068ffc
test ebx, ebx
je 0x10069805
jns 0x10069459
mov eax, dword [esi + 0xb0]
mov ecx, esi
mov dword [esi + 0xac], eax
call fcn.100664e0
mov ecx, esi
call fcn.100664e0
jmp 0x10068d66
cmp dword [esi + 0x10], 0
je 0x10069496
mov ecx, dword [esi + 0xb0]
mov eax, ecx
sub eax, dword [esi + 0xac]
cmp eax, ebx
jge 0x10069496
sub ebx, eax
mov dword [esi + 0xac], ecx
mov ecx, dword [esi + 0x1c]
mov edx, ebx
mov eax, dword [esi + 0x14]
call eax
mov ecx, esi
call fcn.100664e0
mov ecx, esi
call fcn.100664e0
jmp 0x10068d66
add dword [esi + 0xac], ebx
mov ecx, esi
call fcn.100664e0
mov ecx, esi
call fcn.100664e0
jmp 0x10068d66
cmp dword [esp + 0x20], 0
jne 0x10068ffc
mov eax, dword [esp + 0x14]
cmp dword [eax + 4], 0
jne 0x10068ffc
cmp byte [esp + 0x12], 0
je 0x1006958f
cmp dword [esp + 0x30], 2
je 0x10069af9
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x10068ffc
cmp ebx, edi
ja 0x10068ffc
xor ebp, ebp
mov byte [esp + 0x12], 4
test ebx, ebx
je 0x10069801
mov eax, dword [esi + 0xac]
cmp eax, dword [esi + 0xb0]
jae 0x1006951a
mov cl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x1006957d
cmp dword [esi + 0x20], 0
je 0x1006957b
push dword [esi + 0x24]
mov eax, dword [esi + 0x10]
lea edx, [esi + 0x28]
mov ecx, dword [esi + 0x1c]
call eax
mov ecx, dword [esi + 0xac]
sub ecx, dword [esi + 0xb4]
add dword [esi + 0xa8], ecx
test eax, eax
jne 0x10069562
mov dword [esi + 0x20], eax
lea eax, [esi + 0x29]
mov dword [esi + 0xb0], eax
lea eax, [esi + 0x29]
mov byte [esi + 0x28], 0
mov cl, byte [esi + 0x28]
mov dword [esi + 0xac], eax
jmp 0x1006957d
add eax, 0x28
add eax, esi
mov dword [esi + 0xb0], eax
lea eax, [esi + 0x29]
mov cl, byte [esi + 0x28]
mov dword [esi + 0xac], eax
jmp 0x1006957d
xor cl, cl
mov byte [esp + ebp*4 + 0x53], cl
inc ebp
cmp ebp, ebx
jb 0x10069501
jmp 0x10069801
mov ecx, dword [esi + 8]
test cl, 1
je 0x10068ffc
lea eax, [ecx + ecx]
cmp ebx, eax
jne 0x10068ffc
mov ebx, dword [esp + 0x14]
xor edi, edi
mov byte [esp + 0x13], 1
cmp dword [ebx + 0x10], 0x10
jne 0x100695e5
test ecx, ecx
jle 0x10069805
nop
mov ecx, esi
call fcn.100664e0
mov word [esp + edi*2 + 0x48], ax
inc edi
cmp edi, dword [esi + 8]
jl 0x100695c0
mov ecx, esi
call fcn.100664e0
mov ecx, esi
call fcn.100664e0
jmp 0x10068d66
test ecx, ecx
jle 0x10069805
nop dword [eax]
mov ecx, esi
call fcn.100664e0
mov ecx, dword [ebx + 0x10]
movzx eax, al
movzx ecx, byte [ecx + 0x101222b4]
imul eax, ecx
mov byte [esp + edi + 0x18], al
inc edi
cmp edi, dword [esi + 8]
jl 0x100695f0
mov ecx, esi
call fcn.100664e0
mov ecx, esi
call fcn.100664e0
jmp 0x10068d66
cmp dword [esp + 0x20], 0
jne 0x10068ffc
cmp ebx, 0x300
ja 0x10068ffc
mov eax, 0xaaaaaaab
mul ebx
mov edi, edx
shr edi, 1
mov dword [esp + 0x2c], edi
lea eax, [edi + edi*2]
cmp eax, ebx
jne 0x10068ffc
xor edx, edx
mov dword [esp + 0x40], edx
test edi, edi
je 0x10069805
lea ebp, [esi + 0x20]
nop word [eax + eax]
mov eax, dword [esi + 0xac]
mov edi, ebp
mov ecx, dword [esi + 0xb0]
cmp eax, ecx
jb 0x100696d3
cmp dword [edi], 0
je 0x100696f0
push dword [esi + 0x24]
mov eax, dword [esi + 0x10]
lea ebx, [esi + 0x28]
mov ecx, dword [esi + 0x1c]
mov edx, ebx
call eax
mov ecx, dword [esi + 0xac]
sub ecx, dword [esi + 0xb4]
add dword [esi + 0xa8], ecx
mov dword [esi + 0xac], ebx
test eax, eax
jne 0x100696c2
lea ecx, [esi + 0x29]
mov dword [edi], eax
mov dword [esi + 0xb0], ecx
mov byte [ebx], al
jmp 0x100696cd
lea ecx, [esi + 0x28]
add ecx, eax
mov dword [esi + 0xb0], ecx
mov eax, dword [esi + 0xac]
mov ebx, dword [esp + 0x40]
mov dl, byte [eax]
inc eax
shl ebx, 2
mov dword [esi + 0xac], eax
mov byte [esp + ebx + 0x50], dl
cmp eax, ecx
jae 0x100696fc
lea ebp, [esi + 0x20]
jmp 0x10069750
lea ebx, [edx*4]
mov byte [esp + ebx + 0x50], 0
cmp dword [edi], 0
mov ebp, edi
je 0x1006976f
push dword [esi + 0x24]
mov eax, dword [esi + 0x10]
lea edx, [esi + 0x28]
mov ecx, dword [esi + 0x1c]
call eax
mov ecx, dword [esi + 0xac]
lea edx, [esi + 0x28]
sub ecx, dword [esi + 0xb4]
add dword [esi + 0xa8], ecx
mov dword [esi + 0xac], edx
test eax, eax
jne 0x1006973f
lea ecx, [esi + 0x29]
mov dword [edi], eax
mov dword [esi + 0xb0], ecx
mov byte [edx], al
jmp 0x1006974a
lea ecx, [esi + 0x28]
add ecx, eax
mov dword [esi + 0xb0], ecx
mov eax, dword [esi + 0xac]
mov dl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
mov byte [esp + ebx + 0x51], dl
cmp eax, ecx
jae 0x10069774
mov cl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x100697e5
mov byte [esp + ebx + 0x51], 0
cmp dword [edi], 0
mov ebp, edi
je 0x100697e3
push dword [esi + 0x24]
mov eax, dword [esi + 0x10]
lea edx, [esi + 0x28]
mov ecx, dword [esi + 0x1c]
call eax
mov ecx, dword [esi + 0xac]
sub ecx, dword [esi + 0xb4]
add dword [esi + 0xa8], ecx
lea ecx, [esi + 0x28]
mov dword [esi + 0xac], ecx
test eax, eax
jne 0x100697c7
mov dword [edi], eax
lea eax, [esi + 0x29]
mov dword [esi + 0xb0], eax
mov byte [ecx], 0
mov eax, dword [esi + 0xac]
mov cl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x100697e5
add eax, 0x28
add eax, esi
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0xac]
mov cl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x100697e5
xor cl, cl
mov edx, dword [esp + 0x40]
inc edx
mov byte [esp + ebx + 0x52], cl
mov byte [esp + ebx + 0x53], 0xff
mov dword [esp + 0x40], edx
cmp edx, dword [esp + 0x2c]
jb 0x10069670
mov ebp, dword [esp + 0x28]
mov ecx, esi
call fcn.100664e0
mov ecx, esi
call fcn.100664e0
jmp 0x10068d66
mov bl, byte [esp + 0x13]
jmp 0x10068ebb
mov ax, word [esp + 0x4c]
mov edi, dword [esp + 0x4a]
mov bx, word [esp + 0x48]
nop
cmp word [ecx], bx
jne 0x10069847
cmp word [ecx + 2], di
jne 0x10069847
cmp word [ecx + 4], ax
jne 0x10069847
xor ebp, ebp
mov word [ecx + 6], bp
add ecx, 8
sub edx, 1
jne 0x10069830
mov ebp, dword [esp + 0x14]
jmp 0x1006989d
test edx, edx
je 0x1006989d
cmp dword [esi + 0xc], 2
jne 0x10069877
mov bl, byte [esp + 0x18]
cmp byte [ecx], bl
sete al
dec al
mov byte [ecx + 1], al
add ecx, 2
sub edx, 1
jne 0x10069863
jmp 0x1006989d
mov al, byte [esp + 0x1a]
mov bl, byte [esp + 0x19]
mov ah, byte [esp + 0x18]
cmp byte [ecx], ah
jne 0x10069895
cmp byte [ecx + 1], bl
jne 0x10069895
cmp byte [ecx + 2], al
jne 0x10069895
mov byte [ecx + 3], 0
add ecx, 4
sub edx, 1
jne 0x10069883
cmp dword [esp + 0x3c], 0
je 0x10069988
cmp dword [0x101391d0], 0
je 0x10069988
cmp dword [esi + 0xc], 2
jle 0x10069988
mov eax, dword [ebp]
mov ebp, dword [ebp + 0xc]
mov edx, dword [eax + 4]
imul edx, dword [eax]
mov dword [esp + 0x24], edx
test edx, edx
je 0x10069984
cmp dword [eax + 0xc], 3
jne 0x100698f9
nop dword [eax]
mov cl, byte [ebp]
lea ebp, [ebp + 3]
mov al, byte [ebp - 1]
mov byte [ebp - 3], al
mov byte [ebp - 1], cl
sub edx, 1
jne 0x100698e0
jmp 0x10069984
cmp dword [0x1013923c], 0
je 0x10069970
mov al, byte [ebp + 3]
mov cl, byte [ebp]
mov ch, byte [ebp + 2]
test al, al
je 0x10069955
movzx ebx, al
xor edx, edx
movzx eax, byte [ebp + 1]
mov edi, ebx
imul eax, eax, 0xff
shr edi, 1
add eax, edi
div ebx
xor edx, edx
mov byte [ebp + 1], al
movzx eax, cl
imul eax, eax, 0xff
movzx ecx, ch
add eax, edi
div ebx
xor edx, edx
mov byte [esp + 0x1f], al
imul eax, ecx, 0xff
mov cl, byte [esp + 0x1f]
add eax, edi
div ebx
mov edx, dword [esp + 0x24]
mov ch, al
mov byte [ebp], ch
mov byte [ebp + 2], cl
add ebp, 4
sub edx, 1
mov dword [esp + 0x24], edx
jne 0x10069902
jmp 0x10069984
mov cl, byte [ebp]
lea ebp, [ebp + 4]
mov al, byte [ebp - 2]
mov byte [ebp - 4], al
mov byte [ebp - 2], cl
sub edx, 1
jne 0x10069970
mov ebp, dword [esp + 0x14]
mov al, byte [esp + 0x12]
test al, al
je 0x10069a80
movzx edi, al
mov eax, dword [esp + 0x143c]
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
cmp eax, 3
jl 0x100699ae
mov dword [esi + 0xc], eax
mov edi, eax
mov eax, dword [ebp]
mov ebp, dword [ebp + 0xc]
mov ebx, dword [eax + 4]
imul ebx, dword [eax]
test ebx, ebx
js 0x10068ffc
test edi, edi
js 0x10068ffc
mov ecx, ebx
jne 0x100699d3
imul ecx, edi
jmp 0x100699e6
mov eax, 0x7fffffff
imul ecx, edi
cdq
idiv edi
cmp ebx, eax
jg 0x10068ffc
push ecx
call fcn.100f6549
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x10068ffc
cmp edi, 3
jne 0x10069a33
xor edi, edi
test ebx, ebx
je 0x10069a68
lea edx, [eax + 2]
nop dword [eax]
movzx ecx, byte [edi + ebp]
lea edx, [edx + 3]
inc edi
mov al, byte [esp + ecx*4 + 0x50]
mov byte [edx - 5], al
mov al, byte [esp + ecx*4 + 0x51]
mov byte [edx - 4], al
mov al, byte [esp + ecx*4 + 0x52]
mov byte [edx - 3], al
cmp edi, ebx
jb 0x10069a10
jmp 0x10069a68
xor edi, edi
test ebx, ebx
je 0x10069a68
lea edx, [eax + 2]
nop dword [eax]
movzx ecx, byte [edi + ebp]
lea edx, [edx + 4]
inc edi
mov al, byte [esp + ecx*4 + 0x50]
mov byte [edx - 6], al
mov al, byte [esp + ecx*4 + 0x51]
mov byte [edx - 5], al
mov al, byte [esp + ecx*4 + 0x52]
mov byte [edx - 4], al
mov al, byte [esp + ecx*4 + 0x53]
mov byte [edx - 3], al
cmp edi, ebx
jb 0x10069a40
mov ebp, dword [esp + 0x14]
push dword [ebp + 0xc]
call fcn.100f57a7
mov eax, dword [esp + 0x28]
add esp, 4
mov dword [ebp + 0xc], eax
jmp 0x10069a8a
cmp byte [esp + 0x13], 0
je 0x10069a8a
inc dword [esi + 8]
push dword [ebp + 8]
call fcn.100f57a7
add esp, 4
mov dword [ebp + 8], 0
mov ecx, esi
call fcn.100664e0
mov ecx, esi
call fcn.100664e0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1428
ret 4
push dword [esp + 0x464]
call fcn.100f57a7
add esp, 4
mov dword [ebp + 8], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1428
ret 4
movzx eax, al
mov dword [esi + 8], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1428
ret 4
mov dword [esi + 8], 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x1428
ret 4