Function at 0x100c8be0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x1c
push ebx
push ebp
mov ebp, dword [esp + 0x30]
push esi
push edi
mov edi, dword [esp + 0x30]
mov eax, dword [ebp + 0x19c]
mov esi, dword [ebp + 0x18c]
mov ecx, dword [ebp + 0x194]
mov edx, dword [ebp + 0x198]
mov ebx, dword [ebp + 0x190]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x1a0]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x184]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x78]
shr eax, 0xd
mov dword [esp + 0x28], esi
and eax, 1
movzx esi, byte [edi + 8]
mov dword [esp + 0x38], eax
cmp esi, 6
mov eax, dword [edi]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], ebx
ja case.0x100c8c7d.3
mov ebx, dword [esp + 0x30]
jmp dword [ebx*4 + 0x100c9d0c]
movzx ecx, byte [edi + 9]
mov ebx, dword [esp + 0x10]
dec ecx
cmp ecx, 0xf
ja case.0x100c8c7d.3
movzx ecx, byte [ecx + 0x100c9d40]
jmp dword [ecx*4 + 0x100c9d28]
mov esi, dword [esp + 0x34]
mov ebx, 7
mov dword [esp + 0x38], ebx
test eax, eax
je case.0x100c8c7d.3
movzx ecx, word [ebp + 0x1bc]
mov dword [esp + 0x30], ecx
mov dh, byte [esi]
mov cl, bl
mov dl, dh
mov dword [esp + 0x28], ebx
shr dl, cl
mov edi, esi
and dl, 1
movzx ecx, dl
cmp cx, word [esp + 0x30]
jne 0x100c8ce1
mov dl, byte [ebp + 0x16c]
mov ecx, 7
sub ecx, ebx
mov ebx, 0x7f7f
sar ebx, cl
mov ecx, dword [esp + 0x38]
and bl, dh
shl dl, cl
or bl, dl
mov byte [esi], bl
mov ebx, ecx
test ebx, ebx
jne 0x100c8cec
mov ebx, 7
jmp 0x100c8ced
dec ebx
inc esi
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x28], 0
cmovne esi, edi
sub eax, 1
jne 0x100c8ca4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov ebx, 6
test esi, esi
je 0x100c8df6
mov edx, dword [esp + 0x34]
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], ebx
test eax, eax
je case.0x100c8c7d.3
movzx ecx, word [ebp + 0x1bc]
lea edi, [ebx - 0xc]
mov dword [esp + 0x20], ecx
mov dh, byte [edx]
mov cl, bl
mov dl, dh
mov dword [esp + 0x24], ebx
shr dl, cl
and dl, 3
mov byte [esp + 0x38], dh
movzx ecx, dl
cmp cx, word [esp + 0x20]
jne 0x100c8d77
lea ecx, [edi + 6]
mov edx, 0x3f3f
sar edx, cl
mov ecx, ebx
and dl, byte [esp + 0x38]
mov dword [esp + 0x38], edx
mov dl, byte [ebp + 0x16c]
shl dl, cl
mov ecx, dword [esp + 0x38]
or cl, dl
jmp 0x100c8dbc
mov cl, bl
movzx edx, dh
shr edx, cl
mov ebx, 0x3f3f
and edx, 3
mov ecx, 6
sub ecx, dword [esp + 0x24]
sar ebx, cl
and bl, byte [esp + 0x38]
lea ecx, [edx*4]
or ecx, edx
shl ecx, 2
or ecx, edx
shl ecx, 2
or ecx, edx
mov dl, byte [ecx + esi]
mov ecx, dword [esp + 0x30]
shr dl, 6
shl dl, cl
or bl, dl
mov cl, bl
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov byte [edx], cl
test ebx, ebx
jne 0x100c8dd5
mov ebx, 6
inc edx
mov dword [esp + 0x28], edx
lea edi, [ebx - 0xc]
jmp 0x100c8de1
mov edi, 2
sub ebx, 2
sub edi, dword [esp + 0x24]
mov dword [esp + 0x30], ebx
sub eax, 1
jne 0x100c8d36
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov esi, dword [esp + 0x34]
mov dword [esp + 0x38], ebx
test eax, eax
je case.0x100c8c7d.3
movzx ecx, word [ebp + 0x1bc]
mov dword [esp + 0x30], ecx
mov dh, byte [esi]
mov cl, bl
mov dl, dh
mov dword [esp + 0x28], ebx
shr dl, cl
mov edi, esi
and dl, 3
movzx ecx, dl
cmp cx, word [esp + 0x30]
jne 0x100c8e4e
mov dl, byte [ebp + 0x16c]
mov ecx, 6
sub ecx, ebx
mov ebx, 0x3f3f
sar ebx, cl
mov ecx, dword [esp + 0x38]
and bl, dh
shl dl, cl
or bl, dl
mov byte [esi], bl
mov ebx, ecx
test ebx, ebx
jne 0x100c8e59
mov ebx, 6
jmp 0x100c8e5c
sub ebx, 2
inc esi
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x28], 0
cmovne esi, edi
sub eax, 1
jne 0x100c8e11
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov ebx, 4
test esi, esi
je 0x100c8f59
mov edx, dword [esp + 0x34]
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], ebx
test eax, eax
je case.0x100c8c7d.3
movzx ecx, word [ebp + 0x1bc]
lea edi, [ebx - 8]
mov dword [esp + 0x20], ecx
mov dh, byte [edx]
mov cl, bl
mov dl, dh
mov dword [esp + 0x24], ebx
shr dl, cl
and dl, 0xf
mov byte [esp + 0x38], dh
movzx ecx, dl
cmp cx, word [esp + 0x20]
jne 0x100c8ee6
lea ecx, [edi + 4]
mov edx, 0xf0f
sar edx, cl
mov ecx, ebx
and dl, byte [esp + 0x38]
mov dword [esp + 0x38], edx
mov dl, byte [ebp + 0x16c]
shl dl, cl
mov ecx, dword [esp + 0x38]
or cl, dl
jmp 0x100c8f1f
mov cl, bl
movzx edx, dh
shr edx, cl
mov ebx, 0xf0f
and edx, 0xf
mov ecx, 4
sub ecx, dword [esp + 0x24]
sar ebx, cl
mov ecx, edx
and bl, byte [esp + 0x38]
shl ecx, 4
or ecx, edx
mov dl, byte [ecx + esi]
mov ecx, dword [esp + 0x30]
shr dl, 4
shl dl, cl
or bl, dl
mov cl, bl
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov byte [edx], cl
test ebx, ebx
jne 0x100c8f38
mov ebx, 4
inc edx
mov dword [esp + 0x28], edx
lea edi, [ebx - 8]
jmp 0x100c8f44
mov edi, 4
sub ebx, 4
sub edi, dword [esp + 0x24]
mov dword [esp + 0x30], ebx
sub eax, 1
jne 0x100c8ea5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov esi, dword [esp + 0x34]
mov dword [esp + 0x38], ebx
test eax, eax
je case.0x100c8c7d.3
movzx ecx, word [ebp + 0x1bc]
mov dword [esp + 0x30], ecx
mov dh, byte [esi]
mov cl, bl
mov dl, dh
mov dword [esp + 0x28], ebx
shr dl, cl
mov edi, esi
and dl, 0xf
movzx ecx, dl
cmp cx, word [esp + 0x30]
jne 0x100c8fb1
mov dl, byte [ebp + 0x16c]
mov ecx, 4
sub ecx, ebx
mov ebx, 0xf0f
sar ebx, cl
mov ecx, dword [esp + 0x38]
and bl, dh
shl dl, cl
or bl, dl
mov byte [esi], bl
mov ebx, ecx
test ebx, ebx
jne 0x100c8fbc
mov ebx, 4
jmp 0x100c8fbf
sub ebx, 4
inc esi
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x28], 0
cmovne esi, edi
sub eax, 1
jne 0x100c8f74
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov edx, dword [esp + 0x34]
test esi, esi
je 0x100c9018
test eax, eax
je case.0x100c8c7d.3
movzx edi, word [ebp + 0x1bc]
mov bl, byte [edx]
movzx ecx, bl
cmp cx, di
jne 0x100c9002
mov cl, byte [ebp + 0x16c]
jmp 0x100c9008
movzx ecx, bl
mov cl, byte [ecx + esi]
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x100c8ff0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
test eax, eax
je case.0x100c8c7d.3
movzx esi, word [ebp + 0x1bc]
movzx ecx, byte [edx]
cmp cx, si
jne 0x100c9037
mov cl, byte [ebp + 0x16c]
mov byte [edx], cl
inc edx
sub eax, 1
jne 0x100c9027
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
test ebx, ebx
je 0x100c90d4
mov ebx, dword [esp + 0x34]
test eax, eax
je case.0x100c8c7d.3
movzx esi, word [ebp + 0x1bc]
mov edi, 0x100
mov cl, byte [ebx]
mov dl, byte [ebx + 1]
mov byte [esp + 0x38], dl
movzx edx, cl
mov byte [esp + 0x30], cl
movzx ecx, di
imul edx, ecx
mov cl, byte [esp + 0x38]
movzx ecx, cl
add dx, cx
cmp dx, si
jne 0x100c9093
movzx ecx, word [ebp + 0x16c]
jmp 0x100c90b6
movzx ecx, byte [esp + 0x14]
movzx esi, byte [esp + 0x38]
movzx edx, byte [esp + 0x30]
shr esi, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + esi*4]
movzx esi, word [ebp + 0x1bc]
movzx ecx, word [ecx + edx*2]
mov edx, ecx
shr cx, 8
movzx ecx, cx
mov byte [ebx], cl
mov byte [ebx + 1], dl
add ebx, 2
sub eax, 1
jne 0x100c9065
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov esi, dword [esp + 0x34]
test eax, eax
je case.0x100c8c7d.3
movzx ebx, word [ebp + 0x1bc]
mov edi, 0x100
nop dword [eax]
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
imul edx, edi
add dx, cx
cmp dx, bx
jne 0x100c9113
movzx edx, word [ebp + 0x16c]
mov ecx, edx
mov byte [esi + 1], dl
shr ecx, 8
mov byte [esi], cl
add esi, 2
sub eax, 1
jne 0x100c90f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov cl, byte [edi + 9]
mov ebx, dword [esp + 0x10]
test eax, eax
je case.0x100c8c7d.3
cmp cl, 8
jne 0x100c9215
mov edx, dword [esp + 0x34]
test esi, esi
je 0x100c91bc
movzx edi, word [ebp + 0x1b6]
inc edx
nop dword [eax + eax]
mov bl, byte [edx - 1]
movzx ecx, bl
cmp cx, di
jne 0x100c918f
movzx ecx, byte [edx]
cmp cx, word [ebp + 0x1b8]
jne 0x100c918f
movzx ecx, byte [edx + 1]
cmp cx, word [ebp + 0x1ba]
jne 0x100c918f
movzx ecx, byte [ebp + 0x166]
mov byte [edx - 1], cl
movzx ecx, byte [ebp + 0x168]
mov byte [edx], cl
mov cl, byte [ebp + 0x16a]
jmp 0x100c91a9
movzx ecx, bl
movzx ecx, byte [ecx + esi]
mov byte [edx - 1], cl
movzx ecx, byte [edx]
movzx ecx, byte [ecx + esi]
mov byte [edx], cl
movzx ecx, byte [edx + 1]
mov cl, byte [ecx + esi]
mov byte [edx + 1], cl
add edx, 3
sub eax, 1
jne 0x100c9150
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
movzx esi, word [ebp + 0x1b6]
add edx, 2
movzx ecx, byte [edx - 2]
cmp cx, si
jne 0x100c9205
movzx ecx, byte [edx - 1]
cmp cx, word [ebp + 0x1b8]
jne 0x100c9205
movzx ecx, byte [edx]
cmp cx, word [ebp + 0x1ba]
jne 0x100c9205
movzx ecx, byte [ebp + 0x166]
mov byte [edx - 2], cl
movzx ecx, byte [ebp + 0x168]
mov byte [edx - 1], cl
movzx ecx, byte [ebp + 0x16a]
mov byte [edx], cl
add edx, 3
sub eax, 1
jne 0x100c91c6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
test ebx, ebx
mov ebx, 0x100
je 0x100c9346
mov edi, dword [esp + 0x34]
movzx esi, word [ebp + 0x1b6]
add edi, 2
mov cl, byte [edi - 2]
mov dl, byte [edi - 1]
mov byte [esp + 0x38], dl
movzx edx, cl
mov byte [esp + 0x30], cl
movzx ecx, bx
imul edx, ecx
mov cl, byte [esp + 0x38]
movzx ecx, cl
add dx, cx
cmp dx, si
jne 0x100c92b5
movzx edx, byte [edi]
movzx ecx, bx
imul edx, ecx
movzx ecx, byte [edi + 1]
add dx, cx
cmp dx, word [ebp + 0x1b8]
jne 0x100c92b5
movzx edx, byte [edi + 2]
movzx ecx, bx
imul edx, ecx
movzx ecx, byte [edi + 3]
add dx, cx
cmp dx, word [ebp + 0x1ba]
jne 0x100c92b5
movzx edx, word [ebp + 0x166]
mov ecx, edx
mov byte [edi - 1], dl
movzx edx, word [ebp + 0x168]
shr ecx, 8
mov byte [edi - 2], cl
mov ecx, edx
shr ecx, 8
mov byte [edi], cl
movzx ecx, word [ebp + 0x16a]
mov byte [edi + 1], dl
jmp 0x100c9323
mov ecx, dword [esp + 0x14]
movzx esi, byte [esp + 0x38]
movzx edx, byte [esp + 0x30]
movzx ebx, cl
mov cl, bl
shr esi, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + esi*4]
movzx esi, byte [edi]
movzx edx, word [ecx + edx*2]
mov ecx, edx
mov byte [edi - 1], dl
movzx edx, byte [edi + 1]
shr ecx, 8
mov byte [edi - 2], cl
mov cl, bl
shr edx, cl
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + edx*4]
movzx ecx, word [edx + esi*2]
movzx esi, byte [edi + 3]
mov edx, ecx
mov byte [edi + 1], cl
mov cl, bl
shr edx, 8
mov ebx, 0x100
shr esi, cl
mov ecx, dword [esp + 0x10]
mov byte [edi], dl
movzx edx, byte [edi + 2]
mov ecx, dword [ecx + esi*4]
movzx esi, word [ebp + 0x1b6]
movzx ecx, word [ecx + edx*2]
mov edx, ecx
shr cx, 8
movzx ecx, cx
mov byte [edi + 2], cl
mov byte [edi + 3], dl
add edi, 6
sub eax, 1
jne 0x100c9230
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov esi, dword [esp + 0x34]
movzx edi, word [ebp + 0x1b6]
add esi, 2
movzx edx, byte [esi - 2]
movzx ecx, byte [esi - 1]
imul edx, ebx
add dx, cx
cmp dx, di
jne 0x100c93c9
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
imul edx, ebx
add dx, cx
cmp dx, word [ebp + 0x1b8]
jne 0x100c93c9
movzx edx, byte [esi + 2]
movzx ecx, byte [esi + 3]
imul edx, ebx
add dx, cx
cmp dx, word [ebp + 0x1ba]
jne 0x100c93c9
movzx edx, word [ebp + 0x166]
mov ecx, edx
mov byte [esi - 1], dl
movzx edx, word [ebp + 0x168]
shr ecx, 8
mov byte [esi - 2], cl
mov ecx, edx
shr ecx, 8
mov byte [esi + 1], dl
movzx edx, word [ebp + 0x16a]
mov byte [esi], cl
mov ecx, edx
shr ecx, 8
mov byte [esi + 2], cl
mov byte [esi + 3], dl
add esi, 6
sub eax, 1
jne 0x100c9354
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
cmp byte [edi + 9], 8
mov ebx, dword [esp + 0x10]
jne 0x100c94fd
test edx, edx
je 0x100c9494
test ecx, ecx
je 0x100c9494
test esi, esi
je 0x100c9494
mov edi, dword [esp + 0x34]
test eax, eax
je case.0x100c8c7d.3
mov edx, 0xff
movzx ebx, byte [edi + 1]
cmp bx, dx
jne 0x100c9421
movzx ecx, byte [edi]
mov dl, byte [ecx + esi]
jmp 0x100c947d
test bx, bx
jne 0x100c942e
mov dl, byte [ebp + 0x16c]
jmp 0x100c947d
movzx ecx, byte [edi]
mov edx, dword [esp + 0x20]
movzx esi, byte [ecx + edx]
mov edx, 0xff
movzx ecx, word [ebp + 0x176]
sub edx, ebx
movzx edx, dx
imul edx, ecx
mov ecx, 0x80
imul esi, ebx
add si, dx
add si, cx
movzx ecx, si
mov edx, ecx
shr edx, 8
add edx, ecx
shr edx, 8
cmp dword [esp + 0x38], 0
jne 0x100c9479
movzx ecx, dl
mov edx, dword [esp + 0x24]
mov dl, byte [ecx + edx]
mov esi, dword [esp + 0x28]
mov byte [edi], dl
add edi, 2
mov edx, 0xff
sub eax, 1
jne 0x100c9410
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov ebx, dword [esp + 0x34]
test eax, eax
je case.0x100c8c7d.3
mov cl, byte [ebx + 1]
test cl, cl
jne 0x100c94b1
mov cl, byte [ebp + 0x16c]
mov byte [ebx], cl
jmp 0x100c94ed
cmp cl, 0xff
jae 0x100c94ed
movzx edi, byte [ebx]
mov edx, 0xff
movzx esi, cl
movzx ecx, word [ebp + 0x16c]
sub edx, esi
movzx edx, dx
imul edx, ecx
mov ecx, 0x80
imul edi, esi
add di, dx
add di, cx
movzx ecx, di
mov edx, ecx
shr edx, 8
add edx, ecx
shr edx, 8
mov byte [ebx], dl
add ebx, 2
sub eax, 1
jne 0x100c94a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
test ebx, ebx
je 0x100c961d
cmp dword [esp + 0x1c], 0
je 0x100c961d
cmp dword [esp + 0x18], 0
je 0x100c961d
test eax, eax
je case.0x100c8c7d.3
mov ebx, dword [esp + 0x34]
mov ecx, 0x100
inc ebx
mov esi, 0xffff
mov dword [esp + 0x30], ebx
movzx edx, byte [ebx + 1]
movzx ecx, cx
imul edx, ecx
movzx ecx, byte [ebx + 2]
add dx, cx
movzx ecx, dx
cmp cx, si
jne 0x100c956e
mov cl, byte [esp + 0x14]
movzx esi, byte [ebx]
movzx edx, byte [ebx - 1]
shr esi, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + esi*4]
movzx ecx, word [ecx + edx*2]
mov edx, ecx
jmp 0x100c95ef
test cx, cx
jne 0x100c9581
movzx ecx, word [ebp + 0x16c]
mov edx, ecx
jmp 0x100c95f4
movzx esi, byte [ebx]
mov edi, ecx
mov cl, byte [esp + 0x14]
movzx edx, byte [ebx - 1]
shr esi, cl
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + esi*4]
movzx esi, word [ecx + edx*2]
mov edx, 0xffff
movzx ecx, word [ebp + 0x176]
sub edx, edi
imul ecx, edx
imul esi, edi
add ecx, 0x8000
add ecx, esi
mov edx, ecx
shr edx, 0x10
add edx, ecx
shr edx, 0x10
cmp dword [esp + 0x38], 0
je 0x100c95cc
mov ecx, edx
jmp 0x100c95ec
mov ecx, dword [esp + 0x14]
mov ebx, edx
movzx ecx, cx
movzx edx, bl
shr edx, cl
mov ecx, dword [esp + 0x1c]
shr ebx, 8
mov ecx, dword [ecx + edx*4]
movzx ecx, word [ecx + ebx*2]
mov ebx, dword [esp + 0x30]
movzx edx, cx
mov esi, 0xffff
shr cx, 8
movzx ecx, cx
mov byte [ebx - 1], cl
mov ecx, 0x100
mov byte [ebx], dl
add ebx, 4
mov dword [esp + 0x30], ebx
sub eax, 1
jne 0x100c9536
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
test eax, eax
je case.0x100c8c7d.3
mov ebx, dword [esp + 0x34]
mov ecx, 0x100
inc ebx
mov esi, 0xffff
movzx edx, byte [ebx + 1]
movzx ecx, cx
imul edx, ecx
movzx ecx, byte [ebx + 2]
add dx, cx
movzx ecx, dx
test cx, cx
jne 0x100c9656
movzx edx, word [ebp + 0x16c]
jmp 0x100c9694
cmp cx, si
jae 0x100c969e
movzx edi, byte [ebx - 1]
mov esi, ecx
movzx ecx, byte [ebx]
mov edx, 0xffff
shl edi, 8
sub edx, esi
add edi, ecx
movzx ecx, word [ebp + 0x16c]
imul ecx, edx
imul edi, esi
mov esi, 0xffff
add ecx, 0x8000
add ecx, edi
mov edx, ecx
shr edx, 0x10
add edx, ecx
shr edx, 0x10
mov ecx, edx
mov byte [ebx], dl
shr ecx, 8
mov byte [ebx - 1], cl
add ebx, 4
mov ecx, 0x100
sub eax, 1
jne 0x100c9634
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
cmp byte [edi + 9], 8
mov ebx, dword [esp + 0x10]
jne 0x100c994d
test edx, edx
je 0x100c9848
test ecx, ecx
je 0x100c9848
test esi, esi
je 0x100c9848
test eax, eax
je case.0x100c8c7d.3
mov ecx, dword [esp + 0x34]
mov ebx, 0x80
lea edi, [ecx + 1]
nop dword [eax]
mov cl, byte [edi + 2]
cmp cl, 0xff
jne 0x100c9718
movzx ecx, byte [edi - 1]
movzx ecx, byte [ecx + esi]
mov byte [edi - 1], cl
movzx ecx, byte [edi]
movzx ecx, byte [ecx + esi]
mov byte [edi], cl
movzx ecx, byte [edi + 1]
mov dl, byte [ecx + esi]
jmp 0x100c9831
test cl, cl
jne 0x100c973a
movzx ecx, byte [ebp + 0x166]
mov dl, byte [ebp + 0x16a]
mov byte [edi - 1], cl
movzx ecx, byte [ebp + 0x168]
mov byte [edi], cl
jmp 0x100c9831
mov esi, dword [esp + 0x20]
movzx edx, cl
mov ecx, 0xff
sub ecx, edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x30], ecx
movzx ecx, byte [edi - 1]
movzx edx, dx
movzx esi, byte [ecx + esi]
movzx ecx, word [ebp + 0x170]
imul esi, edx
mov edx, dword [esp + 0x30]
movzx edx, dx
imul edx, ecx
add si, dx
add si, bx
movzx ecx, si
mov edx, ecx
shr edx, 8
add edx, ecx
shr edx, 8
cmp dword [esp + 0x38], 0
jne 0x100c9793
movzx ecx, dl
mov edx, dword [esp + 0x24]
mov dl, byte [ecx + edx]
movzx ecx, byte [edi]
mov byte [edi - 1], dl
mov edx, dword [esp + 0x20]
movzx esi, byte [ecx + edx]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
movzx edx, dx
imul esi, edx
movzx edx, word [ebp + 0x172]
movzx ecx, cx
imul edx, ecx
add si, dx
add si, bx
movzx ecx, si
mov edx, ecx
shr edx, 8
add edx, ecx
shr edx, 8
cmp dword [esp + 0x38], 0
jne 0x100c97e0
movzx ecx, dl
mov edx, dword [esp + 0x24]
mov dl, byte [ecx + edx]
movzx ecx, byte [edi + 1]
mov byte [edi], dl
mov edx, dword [esp + 0x20]
movzx esi, byte [ecx + edx]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
movzx edx, dx
imul esi, edx
movzx edx, word [ebp + 0x174]
movzx ecx, cx
imul edx, ecx
add si, dx
add si, bx
movzx ecx, si
mov edx, ecx
shr edx, 8
add edx, ecx
shr edx, 8
cmp dword [esp + 0x38], 0
jne 0x100c982d
movzx ecx, dl
mov edx, dword [esp + 0x24]
mov dl, byte [ecx + edx]
mov esi, dword [esp + 0x28]
mov byte [edi + 1], dl
add edi, 4
sub eax, 1
jne 0x100c96f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
test eax, eax
je case.0x100c8c7d.3
mov ecx, dword [esp + 0x34]
lea edx, [ecx + 1]
mov dword [esp + 0x38], edx
nop dword [eax + eax]
mov cl, byte [edx + 2]
test cl, cl
jne 0x100c9889
movzx ecx, byte [ebp + 0x166]
mov byte [edx - 1], cl
movzx ecx, byte [ebp + 0x168]
mov byte [edx], cl
movzx ecx, byte [ebp + 0x16a]
mov byte [edx + 1], cl
jmp 0x100c9935
cmp cl, 0xff
jae 0x100c9935
movzx esi, byte [edx - 1]
mov ebx, 0xff
movzx edx, word [ebp + 0x166]
movzx edi, cl
imul esi, edi
sub ebx, edi
movzx ecx, bx
imul edx, ecx
mov ecx, 0x80
add si, dx
add si, cx
movzx ecx, si
mov edx, ecx
shr edx, 8
add edx, ecx
mov ecx, dword [esp + 0x38]
shr edx, 8
movzx esi, byte [ecx]
mov byte [ecx - 1], dl
movzx edx, word [ebp + 0x168]
imul esi, edi
movzx ecx, bx
imul edx, ecx
mov ecx, 0x80
add si, dx
add si, cx
movzx ecx, si
mov edx, ecx
shr edx, 8
add edx, ecx
mov ecx, dword [esp + 0x38]
shr edx, 8
movzx esi, byte [ecx + 1]
mov byte [ecx], dl
movzx edx, word [ebp + 0x16a]
movzx ecx, bx
imul edx, ecx
mov ecx, 0x80
imul esi, edi
add si, dx
add si, cx
movzx ecx, si
mov edx, ecx
shr edx, 8
add edx, ecx
mov ecx, dword [esp + 0x38]
shr edx, 8
mov byte [ecx + 1], dl
mov edx, ecx
add edx, 4
mov dword [esp + 0x38], edx
sub eax, 1
jne 0x100c9860
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
test ebx, ebx
je 0x100c9bd1
cmp dword [esp + 0x1c], 0
je 0x100c9bd1
cmp dword [esp + 0x18], 0
je 0x100c9bd1
test eax, eax
je case.0x100c8c7d.3
mov edi, dword [esp + 0x34]
mov ecx, 0x100
inc edi
mov ebx, 0xffff
movzx edx, byte [edi + 5]
movzx ecx, cx
imul edx, ecx
movzx ecx, byte [edi + 6]
add dx, cx
movzx ecx, dx
cmp cx, bx
jne 0x100c9a0d
mov ecx, dword [esp + 0x14]
movzx esi, byte [edi]
movzx edx, byte [edi - 1]
movzx ebx, cl
mov cl, bl
shr esi, cl
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + esi*4]
movzx esi, byte [edi + 1]
movzx edx, word [ecx + edx*2]
mov ecx, edx
mov byte [edi], dl
movzx edx, byte [edi + 2]
shr ecx, 8
mov byte [edi - 1], cl
mov cl, bl
shr edx, cl
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + edx*4]
movzx ecx, word [edx + esi*2]
movzx esi, byte [edi + 4]
mov edx, ecx
mov byte [edi + 2], cl
mov cl, bl
shr esi, cl
mov ecx, dword [esp + 0x10]
shr edx, 8
mov byte [edi + 1], dl
movzx edx, byte [edi + 3]
mov ecx, dword [ecx + esi*4]
movzx ecx, word [ecx + edx*2]
mov edx, ecx
shr cx, 8
movzx ecx, cx
jmp 0x100c9bad
test cx, cx
jne 0x100c9a4a
movzx edx, word [ebp + 0x166]
mov ecx, edx
mov byte [edi], dl
movzx edx, word [ebp + 0x168]
shr ecx, 8
mov byte [edi - 1], cl
mov ecx, edx
shr ecx, 8
mov byte [edi + 1], cl
movzx ecx, word [ebp + 0x16a]
mov byte [edi + 2], dl
mov edx, ecx
shr cx, 8
movzx ecx, cx
jmp 0x100c9bb2
mov ebx, dword [esp + 0x14]
movzx esi, byte [edi]
movzx edx, bl
mov dword [esp + 0x30], edx
mov edx, ecx
mov ecx, 0xffff
mov dword [esp + 0x28], edx
sub ecx, edx
movzx edx, byte [edi - 1]
mov dword [esp + 0x24], ecx
mov cl, byte [esp + 0x30]
shr esi, cl
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + esi*4]
movzx edx, word [ecx + edx*2]
imul edx, dword [esp + 0x28]
movzx ecx, word [ebp + 0x170]
imul ecx, dword [esp + 0x24]
add ecx, 0x8000
add ecx, edx
mov edx, ecx
shr edx, 0x10
add edx, ecx
shr edx, 0x10
cmp dword [esp + 0x38], 0
jne 0x100c9aca
mov ecx, dword [esp + 0x14]
mov ebx, edx
movzx ecx, cx
movzx edx, bl
shr edx, cl
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x1c]
shr ebx, 8
mov ecx, dword [ecx + edx*4]
movzx edx, word [ecx + ebx*2]
jmp 0x100c9ad1
movzx ecx, bx
mov dword [esp + 0x20], ecx
movzx esi, byte [edi + 2]
mov ecx, edx
shr ecx, 8
mov byte [edi - 1], cl
mov cl, byte [esp + 0x30]
shr esi, cl
mov ecx, dword [esp + 0x18]
mov byte [edi], dl
movzx edx, byte [edi + 1]
mov ecx, dword [ecx + esi*4]
movzx edx, word [ecx + edx*2]
movzx ecx, word [ebp + 0x172]
imul ecx, dword [esp + 0x24]
imul edx, dword [esp + 0x28]
add ecx, 0x8000
add ecx, edx
mov ebx, ecx
shr ebx, 0x10
add ebx, ecx
mov ecx, dword [esp + 0x20]
shr ebx, 0x10
cmp dword [esp + 0x38], 0
movzx ecx, cx
mov dword [esp + 0x20], ecx
jne 0x100c9b3c
movzx edx, bl
shr edx, cl
mov ecx, dword [esp + 0x1c]
shr ebx, 8
mov edx, dword [ecx + edx*4]
movzx ebx, word [edx + ebx*2]
mov cl, byte [esp + 0x30]
mov edx, ebx
movzx esi, byte [edi + 4]
shr esi, cl
mov ecx, dword [esp + 0x18]
shr edx, 8
mov byte [edi + 1], dl
movzx edx, byte [edi + 3]
mov byte [edi + 2], bl
mov ecx, dword [ecx + esi*4]
movzx edx, word [ecx + edx*2]
movzx ecx, word [ebp + 0x174]
imul ecx, dword [esp + 0x24]
imul edx, dword [esp + 0x28]
add ecx, 0x8000
add edx, ecx
mov esi, edx
shr esi, 0x10
add esi, edx
shr esi, 0x10
cmp dword [esp + 0x38], 0
jne 0x100c9ba3
mov ecx, dword [esp + 0x20]
mov ebx, esi
movzx edx, bl
shr edx, cl
mov ecx, dword [esp + 0x1c]
shr ebx, 8
mov ecx, dword [ecx + edx*4]
movzx esi, word [ecx + ebx*2]
movzx edx, si
shr si, 8
movzx ecx, si
mov ebx, 0xffff
mov byte [edi + 3], cl
mov ecx, 0x100
mov byte [edi + 4], dl
add edi, 8
sub eax, 1
jne 0x100c9982
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
test eax, eax
je case.0x100c8c7d.3
mov ebx, dword [esp + 0x34]
mov ecx, 0x100
inc ebx
mov esi, 0xffff
nop dword [eax + eax]
movzx edx, byte [ebx + 5]
movzx ecx, cx
imul edx, ecx
movzx ecx, byte [ebx + 6]
add dx, cx
movzx ecx, dx
test cx, cx
jne 0x100c9c38
movzx edx, word [ebp + 0x166]
mov ecx, edx
mov byte [ebx], dl
movzx edx, word [ebp + 0x168]
shr ecx, 8
mov byte [ebx - 1], cl
mov ecx, edx
shr ecx, 8
mov byte [ebx + 2], dl
movzx edx, word [ebp + 0x16a]
mov byte [ebx + 1], cl
jmp 0x100c9ce7
cmp cx, si
jae 0x100c9cf2
movzx edx, byte [ebx - 1]
mov esi, ecx
movzx ecx, byte [ebx]
mov edi, 0xffff
shl edx, 8
sub edi, esi
add edx, ecx
movzx ecx, word [ebp + 0x166]
imul edx, esi
imul ecx, edi
add edx, 0x8000
add ecx, edx
mov edx, ecx
shr edx, 0x10
add edx, ecx
shr edx, 0x10
mov ecx, edx
mov byte [ebx], dl
movzx edx, byte [ebx + 1]
shl edx, 8
shr ecx, 8
mov byte [ebx - 1], cl
movzx ecx, byte [ebx + 2]
add edx, ecx
movzx ecx, word [ebp + 0x168]
imul edx, esi
imul ecx, edi
add edx, 0x8000
add ecx, edx
mov edx, ecx
shr edx, 0x10
add edx, ecx
shr edx, 0x10
mov ecx, edx
mov byte [ebx + 2], dl
movzx edx, byte [ebx + 3]
shr ecx, 8
shl edx, 8
mov byte [ebx + 1], cl
movzx ecx, byte [ebx + 4]
add edx, ecx
movzx ecx, word [ebp + 0x16a]
imul edx, esi
mov esi, 0xffff
imul ecx, edi
add edx, 0x8000
add ecx, edx
mov edx, ecx
shr edx, 0x10
add edx, ecx
shr edx, 0x10
mov ecx, edx
mov byte [ebx + 4], dl
shr ecx, 8
mov byte [ebx + 3], cl
add ebx, 8
mov ecx, 0x100
sub eax, 1
jne 0x100c9bf0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret