Function at 0x1008c6b0
Capabilities:
Inspect section memory permissions

Disassembly:
mov eax, 0x1428
call fcn.10147f20
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.1008b230
test eax, eax
je 0x1008c9bc
cmp ebx, 1
je 0x1008d4c0
mov ecx, esi
call fcn.10089ea0
mov ecx, esi
mov ebx, eax
call fcn.10089ea0
shl ebx, 0x10
mov ecx, esi
add ebx, eax
call fcn.10089ea0
mov ecx, esi
mov edi, eax
call fcn.10089ea0
shl edi, 0x10
add eax, edi
cmp eax, 0x49484452
ja 0x1008cdc4
je 0x1008ca2b
cmp eax, 0x43674249
je 0x1008c9f6
cmp eax, 0x49444154
je 0x1008c8f2
cmp eax, 0x49454e44
jne 0x1008cdda
cmp dword [esp + 0x20], 0
jne 0x1008c9bc
cmp dword [esp + 0x30], 0
jne 0x1008d4c0
mov ebp, dword [esp + 0x14]
mov ebx, dword [ebp + 4]
test ebx, ebx
je 0x1008c9bc
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.1012cc15
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x1008d48b
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.1008b110
test eax, eax
je 0x1008d47c
mov eax, dword [esp + 0x464]
mov edi, dword [esp + 0x460]
sub edi, eax
mov dword [ebp + 8], eax
test eax, eax
je 0x1008c9bc
push dword [ebp + 4]
call fcn.1012bcd9
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 0x1008c871
cmp edx, 3
je 0x1008c871
cmp byte [esp + 0x12], 0
je 0x1008d1d8
mov bl, byte [esp + 0x13]
test bl, bl
jne 0x1008c87b
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.1008c3b0
test eax, eax
je 0x1008c9bc
test bl, bl
je 0x1008d25d
mov eax, dword [ebp]
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax + 4]
imul edx, dword [eax]
cmp dword [ebp + 0x10], 0x10
jne 0x1008d215
test edx, edx
je 0x1008d25d
cmp dword [esi + 0xc], 2
jne 0x1008d1e1
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 0x1008c8d4
jmp 0x1008d25d
cmp dword [esp + 0x20], 0
jne 0x1008c9bc
mov al, byte [esp + 0x12]
test al, al
je 0x1008c910
cmp dword [esp + 0x2c], 0
je 0x1008c9bc
cmp dword [esp + 0x30], 2
je 0x1008d4a1
mov eax, dword [esp + 0x34]
lea edi, [ebx + eax]
cmp edi, eax
jl 0x1008c9bc
cmp edi, ebp
jbe 0x1008c96b
test ebp, ebp
jne 0x1008c940
mov ebp, 0x1000
cmp ebx, ebp
cmova ebp, ebx
mov dword [esp + 0x28], ebp
cmp edi, ebp
jbe 0x1008c94e
add ebp, ebp
cmp edi, ebp
ja 0x1008c944
mov dword [esp + 0x28], ebp
push ebp
mov ebp, dword [esp + 0x18]
push dword [ebp + 4]
call fcn.1012cc0a
add esp, 8
test eax, eax
je 0x1008c9bc
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x34]
jmp 0x1008c96f
mov ebp, dword [esp + 0x14]
mov ecx, dword [ebp + 4]
add ecx, eax
cmp dword [esi + 0x10], 0
mov dword [esp + 0x40], ecx
je 0x1008c9cb
mov ebp, dword [esi + 0xb0]
mov eax, dword [esi + 0xac]
sub ebp, eax
cmp ebp, ebx
jge 0x1008c9cb
push ebp
push eax
push ecx
call fcn.10121200
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 0x1008c9ed
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 0x1008c9bc
push ebx
push edx
push ecx
call fcn.10121200
add esp, 0xc
add dword [esi + 0xac], ebx
mov dword [esp + 0x34], edi
jmp 0x1008d1c1
mov dword [esp + 0x3c], 1
test ebx, ebx
je 0x1008d1c5
jns 0x1008ce19
mov eax, dword [esi + 0xb0]
mov ecx, esi
mov dword [esi + 0xac], eax
call fcn.10089ea0
mov ecx, esi
call fcn.10089ea0
jmp 0x1008c726
cmp dword [esp + 0x20], 0
je 0x1008c9bc
mov dword [esp + 0x20], 0
cmp ebx, 0xd
jne 0x1008c9bc
mov ecx, esi
call fcn.10089ea0
mov ecx, esi
mov edi, eax
call fcn.10089ea0
shl edi, 0x10
mov ecx, esi
add eax, edi
mov dword [esi], eax
call fcn.10089ea0
mov ecx, esi
mov edi, eax
call fcn.10089ea0
shl edi, 0x10
add eax, edi
mov dword [esi + 4], eax
cmp eax, 0x1000000
ja 0x1008c9bc
cmp dword [esi], 0x1000000
ja 0x1008c9bc
mov eax, dword [esi + 0xac]
lea edi, [esi + 0x20]
cmp eax, dword [esi + 0xb0]
jae 0x1008caa5
mov cl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x1008cb06
cmp dword [edi], 0
je 0x1008cb04
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 0x1008caeb
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 0x1008cb06
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 0x1008cb06
xor cl, cl
mov ebx, dword [esp + 0x14]
movzx eax, cl
mov dword [ebx + 0x10], eax
cmp eax, 1
je 0x1008cb2d
cmp eax, 2
je 0x1008cb2d
cmp eax, 4
je 0x1008cb2d
cmp eax, 8
je 0x1008cb2d
cmp eax, 0x10
jne 0x1008c9bc
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0xb0]
cmp eax, ecx
jae 0x1008cb48
mov dl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x1008cbaa
cmp dword [edi], 0
je 0x1008cba8
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 0x1008cb88
lea ecx, [esi + 0x29]
mov dword [edi], eax
mov dword [esi + 0xb0], ecx
mov byte [ebx], al
jmp 0x1008cb93
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 0x1008cbaa
xor dl, dl
movzx edx, dl
mov dword [esp + 0x38], edx
cmp edx, 6
ja 0x1008c9bc
cmp edx, 3
jne 0x1008cbcf
cmp dword [ebx + 0x10], 0x10
je 0x1008c9bc
mov byte [esp + 0x12], dl
jmp 0x1008cbd8
test dl, 1
jne 0x1008c9bc
cmp eax, ecx
jb 0x1008cc31
cmp dword [edi], 0
je 0x1008cd27
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 0x1008cc20
lea ecx, [esi + 0x29]
mov dword [edi], eax
mov dword [esi + 0xb0], ecx
mov byte [ebx], al
jmp 0x1008cc2b
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 0x1008c9bc
cmp eax, ecx
jb 0x1008cc9b
cmp dword [edi], 0
je 0x1008cd27
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 0x1008cc8a
lea ecx, [esi + 0x29]
mov dword [edi], eax
mov dword [esi + 0xb0], ecx
mov byte [ebx], al
jmp 0x1008cc95
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 0x1008c9bc
cmp eax, ecx
jae 0x1008ccbb
mov cl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x1008cd29
cmp dword [edi], 0
je 0x1008cd27
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 0x1008cd0b
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 0x1008cd29
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 0x1008cd29
xor cl, cl
movzx eax, cl
mov dword [esp + 0x24], eax
cmp eax, 1
ja 0x1008c9bc
mov ecx, dword [esi]
test ecx, ecx
je 0x1008c9bc
mov edi, dword [esi + 4]
test edi, edi
je 0x1008c9bc
xor edx, edx
mov eax, 0x40000000
div ecx
cmp byte [esp + 0x12], 0
jne 0x1008cd9f
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 0x1008c9bc
cmp dword [esp + 0x30], 2
je 0x1008d4c0
mov ecx, esi
call fcn.10089ea0
mov ecx, esi
call fcn.10089ea0
jmp 0x1008c726
shr eax, 2
mov dword [esi + 8], 1
cmp eax, edi
jb 0x1008c9bc
mov ecx, esi
call fcn.10089ea0
mov ecx, esi
call fcn.10089ea0
jmp 0x1008c726
cmp eax, 0x504c5445
je 0x1008cfe4
cmp eax, 0x74524e53
je 0x1008ce6f
cmp dword [esp + 0x20], 0
jne 0x1008c9bc
test eax, 0x20000000
je 0x1008c9bc
test ebx, ebx
je 0x1008d1c5
jns 0x1008ce19
mov eax, dword [esi + 0xb0]
mov ecx, esi
mov dword [esi + 0xac], eax
call fcn.10089ea0
mov ecx, esi
call fcn.10089ea0
jmp 0x1008c726
cmp dword [esi + 0x10], 0
je 0x1008ce56
mov ecx, dword [esi + 0xb0]
mov eax, ecx
sub eax, dword [esi + 0xac]
cmp eax, ebx
jge 0x1008ce56
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.10089ea0
mov ecx, esi
call fcn.10089ea0
jmp 0x1008c726
add dword [esi + 0xac], ebx
mov ecx, esi
call fcn.10089ea0
mov ecx, esi
call fcn.10089ea0
jmp 0x1008c726
cmp dword [esp + 0x20], 0
jne 0x1008c9bc
mov eax, dword [esp + 0x14]
cmp dword [eax + 4], 0
jne 0x1008c9bc
cmp byte [esp + 0x12], 0
je 0x1008cf4f
cmp dword [esp + 0x30], 2
je 0x1008d4b9
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x1008c9bc
cmp ebx, edi
ja 0x1008c9bc
xor ebp, ebp
mov byte [esp + 0x12], 4
test ebx, ebx
je 0x1008d1c1
mov eax, dword [esi + 0xac]
cmp eax, dword [esi + 0xb0]
jae 0x1008ceda
mov cl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x1008cf3d
cmp dword [esi + 0x20], 0
je 0x1008cf3b
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 0x1008cf22
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 0x1008cf3d
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 0x1008cf3d
xor cl, cl
mov byte [esp + ebp*4 + 0x53], cl
inc ebp
cmp ebp, ebx
jb 0x1008cec1
jmp 0x1008d1c1
mov ecx, dword [esi + 8]
test cl, 1
je 0x1008c9bc
lea eax, [ecx + ecx]
cmp ebx, eax
jne 0x1008c9bc
mov ebx, dword [esp + 0x14]
xor edi, edi
mov byte [esp + 0x13], 1
cmp dword [ebx + 0x10], 0x10
jne 0x1008cfa5
test ecx, ecx
jle 0x1008d1c5
nop
mov ecx, esi
call fcn.10089ea0
mov word [esp + edi*2 + 0x48], ax
inc edi
cmp edi, dword [esi + 8]
jl 0x1008cf80
mov ecx, esi
call fcn.10089ea0
mov ecx, esi
call fcn.10089ea0
jmp 0x1008c726
test ecx, ecx
jle 0x1008d1c5
nop dword [eax]
mov ecx, esi
call fcn.10089ea0
mov ecx, dword [ebx + 0x10]
movzx eax, al
movzx ecx, byte [ecx + 0x101781a4]
imul eax, ecx
mov byte [esp + edi + 0x18], al
inc edi
cmp edi, dword [esi + 8]
jl 0x1008cfb0
mov ecx, esi
call fcn.10089ea0
mov ecx, esi
call fcn.10089ea0
jmp 0x1008c726
cmp dword [esp + 0x20], 0
jne 0x1008c9bc
cmp ebx, 0x300
ja 0x1008c9bc
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 0x1008c9bc
xor edx, edx
mov dword [esp + 0x40], edx
test edi, edi
je 0x1008d1c5
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 0x1008d093
cmp dword [edi], 0
je 0x1008d0b0
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 0x1008d082
lea ecx, [esi + 0x29]
mov dword [edi], eax
mov dword [esi + 0xb0], ecx
mov byte [ebx], al
jmp 0x1008d08d
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 0x1008d0bc
lea ebp, [esi + 0x20]
jmp 0x1008d110
lea ebx, [edx*4]
mov byte [esp + ebx + 0x50], 0
cmp dword [edi], 0
mov ebp, edi
je 0x1008d12f
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 0x1008d0ff
lea ecx, [esi + 0x29]
mov dword [edi], eax
mov dword [esi + 0xb0], ecx
mov byte [edx], al
jmp 0x1008d10a
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 0x1008d134
mov cl, byte [eax]
inc eax
mov dword [esi + 0xac], eax
jmp 0x1008d1a5
mov byte [esp + ebx + 0x51], 0
cmp dword [edi], 0
mov ebp, edi
je 0x1008d1a3
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 0x1008d187
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 0x1008d1a5
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 0x1008d1a5
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 0x1008d030
mov ebp, dword [esp + 0x28]
mov ecx, esi
call fcn.10089ea0
mov ecx, esi
call fcn.10089ea0
jmp 0x1008c726
mov bl, byte [esp + 0x13]
jmp 0x1008c87b
mov ax, word [esp + 0x4c]
mov edi, dword [esp + 0x4a]
mov bx, word [esp + 0x48]
nop
cmp word [ecx], bx
jne 0x1008d207
cmp word [ecx + 2], di
jne 0x1008d207
cmp word [ecx + 4], ax
jne 0x1008d207
xor ebp, ebp
mov word [ecx + 6], bp
add ecx, 8
sub edx, 1
jne 0x1008d1f0
mov ebp, dword [esp + 0x14]
jmp 0x1008d25d
test edx, edx
je 0x1008d25d
cmp dword [esi + 0xc], 2
jne 0x1008d237
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 0x1008d223
jmp 0x1008d25d
mov al, byte [esp + 0x1a]
mov bl, byte [esp + 0x19]
mov ah, byte [esp + 0x18]
cmp byte [ecx], ah
jne 0x1008d255
cmp byte [ecx + 1], bl
jne 0x1008d255
cmp byte [ecx + 2], al
jne 0x1008d255
mov byte [ecx + 3], 0
add ecx, 4
sub edx, 1
jne 0x1008d243
cmp dword [esp + 0x3c], 0
je 0x1008d348
cmp dword [0x1019dd10], 0
je 0x1008d348
cmp dword [esi + 0xc], 2
jle 0x1008d348
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 0x1008d344
cmp dword [eax + 0xc], 3
jne 0x1008d2b9
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 0x1008d2a0
jmp 0x1008d344
cmp dword [0x1019dd48], 0
je 0x1008d330
mov al, byte [ebp + 3]
mov cl, byte [ebp]
mov ch, byte [ebp + 2]
test al, al
je 0x1008d315
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 0x1008d2c2
jmp 0x1008d344
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 0x1008d330
mov ebp, dword [esp + 0x14]
mov al, byte [esp + 0x12]
test al, al
je 0x1008d440
movzx edi, al
mov eax, dword [esp + 0x143c]
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
cmp eax, 3
jl 0x1008d36e
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 0x1008c9bc
test edi, edi
js 0x1008c9bc
mov ecx, ebx
jne 0x1008d393
imul ecx, edi
jmp 0x1008d3a6
mov eax, 0x7fffffff
imul ecx, edi
cdq
idiv edi
cmp ebx, eax
jg 0x1008c9bc
push ecx
call fcn.1012cc15
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x1008c9bc
cmp edi, 3
jne 0x1008d3f3
xor edi, edi
test ebx, ebx
je 0x1008d428
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 0x1008d3d0
jmp 0x1008d428
xor edi, edi
test ebx, ebx
je 0x1008d428
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 0x1008d400
mov ebp, dword [esp + 0x14]
push dword [ebp + 0xc]
call fcn.1012bcd9
mov eax, dword [esp + 0x28]
add esp, 4
mov dword [ebp + 0xc], eax
jmp 0x1008d44a
cmp byte [esp + 0x13], 0
je 0x1008d44a
inc dword [esi + 8]
push dword [ebp + 8]
call fcn.1012bcd9
add esp, 4
mov dword [ebp + 8], 0
mov ecx, esi
call fcn.10089ea0
mov ecx, esi
call fcn.10089ea0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1428
ret 4
push dword [esp + 0x464]
call fcn.1012bcd9
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