Function at 0x100d00ef
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
mov ebx, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 0x1c]
push edi
mov dword [ebp - 4], ecx
mov edi, edx
mov ecx, dword [ebp + 0x18]
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x28]
mov dword [ebp + 0x1c], eax
xor eax, eax
mov dword [ebp + 0x14], eax
mov eax, ecx
push 3
pop edx
shr eax, 6
and eax, edx
mov edx, ecx
shr edx, 3
and ecx, 7
and edx, 7
mov dword [ebp - 0x14], eax
cmp dword [ebp + 0x10], 0x2b
mov eax, dword [ebp + 0x1c]
push 2
mov dword [ebp + 0x18], ecx
mov dword [ebp - 0xc], edx
pop ecx
jg 0x100d0223
je 0x100d020d
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
sub dword [ebp - 8], 0x14
mov eax, dword [ebp + 0x1c]
je 0x100d01f5
sub dword [ebp - 8], 1
je 0x100d0fe0
sub dword [ebp - 8], 1
je 0x100d01d6
sub dword [ebp - 8], 1
je 0x100d0201
sub dword [ebp - 8], 0xe
je 0x100d01aa
sub dword [ebp - 8], ecx
je 0x100d0192
sub dword [ebp - 8], 3
je 0x100d0fe6
jmp 0x100d0264
mov eax, dword [ebp - 4]
xor edx, edx
push 3
cmp dword [eax + 0x18], ecx
pop eax
sete dl
add edx, eax
mov dword [ebp + 0x14], edx
jmp 0x100d0fe6
mov eax, dword [ebp + 0x20]
xor ecx, ecx
sub eax, ecx
je 0x100d01ee
sub eax, 1
je 0x100d01e2
sub eax, 1
jne 0x100d0fe6
mov eax, dword [ebp + 0xc]
mov edx, 0x3000000
and eax, edx
cmp eax, edx
jne 0x100d01d6
or dword [esi + 4], 0x2000000
mov dword [ebp + 0x14], 4
jmp 0x100d0fe6
or dword [esi + 4], 0x2000
jmp 0x100d0fe0
or dword [esi + 4], 0x2000
mov dword [ebp + 0x14], 2
jmp 0x100d0fe6
mov dword [ebp + 0x14], 5
jmp 0x100d0fe6
mov edx, dword [ebp - 0x14]
push 3
pop eax
cmp edx, eax
jne 0x100d0fff
xor eax, eax
inc eax
jmp 0x100d1058
mov edx, dword [ebp + 0x10]
mov dword [ebp + 0x14], edx
sub dword [ebp + 0x14], 0x2c
mov edx, dword [ebp - 0xc]
je 0x100d0fe0
sub dword [ebp + 0x14], 1
je 0x100d0fd6
sub dword [ebp + 0x14], 1
je 0x100d01d6
sub dword [ebp + 0x14], 1
je 0x100d0fcd
sub dword [ebp + 0x14], 1
je 0x100d0f9c
sub dword [ebp + 0x14], 0x2c
je 0x100d0f8c
cmp dword [ebp + 0x10], 0x42
mov dword [ebp - 8], 0x5b
jg 0x100d0358
mov eax, dword [ebp + 0x10]
cmp eax, 0x42
je 0x100d02d9
cmp eax, 0x18
jg 0x100d0331
je 0x100d03b8
sub eax, 0xf
je 0x100d03b8
sub eax, 1
mov dword [ebp + 0x14], eax
mov eax, 0x2000
je 0x100d0329
sub dword [ebp + 0x14], 1
je 0x100d02ff
mov eax, dword [ebp + 0x14]
sub eax, 1
je 0x100d02e0
sub eax, 1
jne 0x100d038f
mov eax, 0x2000
test dword [esi], eax
je 0x100d02d9
or dword [esi + 4], eax
mov ax, word [ecx*2 + 0x101eed50]
mov edx, dword [ebp - 0x14]
jmp 0x100d100a
push 3
pop eax
mov ecx, eax
jmp 0x100d02c9
cmp dword [ebp + 0x20], ecx
jne 0x100d02d9
mov eax, dword [ebp + 0xc]
mov edx, 0x3000000
and eax, edx
push 4
pop ecx
cmp eax, edx
jne 0x100d02c9
or dword [esi + 4], 0x2000000
jmp 0x100d02c9
mov edx, dword [esi + 4]
or edx, eax
cmp dword [ebp + 0x20], 1
mov dword [esi + 4], edx
je 0x100d02d9
cmp dword [ebp + 0x20], ecx
jne 0x100d02c6
test dword [ebp + 0xc], 0x1000000
jne 0x100d0324
or edx, 0x2000000
mov dword [esi + 4], edx
push 4
pop ecx
jmp 0x100d02c9
cmp dword [ebp + 0x10], 0x10
je 0x100d02c9
jmp 0x100d02c6
mov dword [ebp + 0x14], eax
sub dword [ebp + 0x14], 0x19
je 0x100d02c9
sub dword [ebp + 0x14], 1
je 0x100d03b8
sub dword [ebp + 0x14], 1
je 0x100d02c9
sub dword [ebp + 0x14], 1
jne 0x100d0392
or dword [esi + 4], 0x2000
jmp 0x100d02c9
cmp dword [ebp + 0x10], 0x4c
jg 0x100d03c0
mov eax, dword [ebp + 0x10]
cmp eax, 0x4c
je 0x100d03b8
sub eax, 0x43
je 0x100d0324
sub eax, 3
je 0x100d02c9
sub eax, 1
je 0x100d02d9
sub eax, 1
je 0x100d0324
sub eax, 1
je 0x100d03b1
sub eax, ecx
je 0x100d02d9
mov eax, dword [ebp + 0x10]
dec eax
cmp eax, 0x57
ja case.0x100d03aa.52
movzx eax, byte [eax + 0x100d112f]
mov dword [ebp + 0x14], 8
jmp dword [eax*4 + 0x100d105f]
push 6
jmp 0x100d0326
xor ecx, ecx
inc ecx
jmp 0x100d02c9
cmp dword [ebp + 0x10], 0x4d
je 0x100d02c9
cmp dword [ebp + 0x10], 0x4e
jle 0x100d038f
cmp dword [ebp + 0x10], 0x50
jle 0x100d0425
cmp dword [ebp + 0x10], 0x56
je 0x100d041e
cmp dword [ebp + 0x10], 0x59
je 0x100d040e
cmp dword [ebp + 0x10], 0x5a
je 0x100d03fe
cmp dword [ebp + 0x10], 0x5b
jne 0x100d038f
mov ecx, eax
and ecx, 0x10
or ecx, 0x20
shr ecx, 3
jmp 0x100d02c9
mov ecx, eax
and ecx, 0x10
or ecx, 0x60
shr ecx, 4
jmp 0x100d02c9
push 7
pop ecx
test al, 0x10
push 4
pop eax
cmove ecx, eax
jmp 0x100d02c9
push 7
jmp 0x100d0326
push 0
pop ecx
test al, 8
push 3
setne cl
pop eax
add ecx, eax
jmp 0x100d02c9
mov byte [edi + ebx*4 + 0x22], cl
mov edx, edi
jmp 0x100d051b
cmp dword [ebp + 0x20], 0
jne 0x100d0459
or dword [esi + 4], 0x2000
mov byte [edi + ebx*4 + 0x22], cl
push 0x10
pop eax
push ecx
jmp 0x100d047c
cmp dword [ebp + 0x20], ecx
jne 0x100d0483
mov eax, dword [ebp + 0xc]
mov edx, 0x3000000
and eax, edx
cmp eax, edx
jne 0x100d0483
or dword [esi + 4], 0x2000000
push 0x40
pop eax
mov byte [edi + ebx*4 + 0x22], cl
push 8
mov edx, edi
jmp 0x100d0520
or dword [esi + 4], 0x2000
mov esi, dword [ebp - 4]
push 0x20
pop edx
mov byte [edi + ebx*4 + 0x22], cl
mov eax, dword [esi + 0x18]
cmp eax, ecx
mov word [edi + ebx*4 + 0x24], dx
mov ecx, esi
push 4
je 0x100d04eb
mov edx, edi
jmp 0x100d0a86
mov eax, 0x2000
mov byte [edi + ebx*4 + 0x22], cl
push 0x20
pop edx
test dword [ebp + 0xc], eax
je 0x100d04de
test dword [esi], eax
je 0x100d04de
mov ecx, dword [ebp - 4]
or dword [esi + 4], eax
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x100d04d7
dec eax
cmp eax, 1
ja 0x100d04e9
push 0x10
jmp 0x100d04e3
mov word [edi + ebx*4 + 0x24], dx
jmp 0x100d04e9
mov ecx, dword [ebp - 4]
push 8
pop eax
mov word [edi + ebx*4 + 0x24], ax
push 1
or word [edi + 0x18], dx
mov edx, edi
call fcn.100cfaa8
jmp 0x100d0a8b
push 3
pop eax
mov byte [edi + ebx*4 + 0x22], al
jmp 0x100d0453
push 3
pop eax
mov byte [edi + ebx*4 + 0x22], al
jmp 0x100d043b
mov byte [edi + ebx*4 + 0x22], 4
lea edx, [edi + 4]
push 8
pop eax
push 1
mov ecx, dword [ebp - 4]
mov word [edi + ebx*4 + 0x24], ax
jmp 0x100d0a86
push 8
pop eax
mov word [edi + ebx*4 + 0x24], ax
xor eax, eax
mov byte [edi + ebx*4 + 0x22], 1
cmp dword [esi + 0x18], eax
je 0x100d0568
mov eax, dword [ebp + 0x1c]
or dword [esi + 4], 0x2000000
and eax, 4
push 3
lea ecx, [edx + eax*2]
pop edx
lea eax, [ecx - 4]
cmp edx, eax
sbb dl, dl
and dl, 0xf4
add dl, 0x3c
add dl, cl
jmp 0x100d0f60
add dl, 0x30
jmp 0x100d0f60
add dl, 0x20
mov byte [edi + ebx*4 + 0x22], 1
mov byte [edi + ebx*4 + 0x23], dl
push 0x10
pop eax
mov word [edi + ebx*4 + 0x24], ax
jmp 0x100d0f78
mov eax, dword [ebp + 0x20]
xor ecx, ecx
sub eax, ecx
je 0x100d05f1
sub eax, 1
je 0x100d05bd
sub eax, 1
jne 0x100d0f64
mov eax, dword [ebp + 0x1c]
or dword [esi + 4], 0x2000000
and al, 4
add al, al
add al, dl
mov byte [edi + ebx*4 + 0x23], al
mov byte [edi + ebx*4 + 0x22], 1
push 0x40
jmp 0x100d057e
and dword [ebp + 0x1c], 4
mov ecx, 0x2000
mov eax, 0x2000000
cmove eax, ecx
or dword [esi + 4], eax
lea eax, [edx + 8]
cmp dword [ebp + 0x1c], 0
movzx ecx, al
movzx eax, dl
cmove ecx, eax
add cl, 0x10
mov byte [edi + ebx*4 + 0x23], cl
mov byte [edi + ebx*4 + 0x22], 1
push 0x20
jmp 0x100d057e
mov eax, dword [esi + 4]
or eax, 0x2000
test byte [ebp + 0x1c], 4
mov dword [esi + 4], eax
je 0x100d060d
or eax, 0x2000000
add edx, 8
mov dword [esi + 4], eax
mov byte [edi + ebx*4 + 0x22], 1
add dl, 0x20
push 0x10
jmp 0x100d0f5a
test byte [ebp + 0x1c], 4
je 0x100d062c
or dword [esi + 4], 0x2000000
add edx, 8
add dl, 0x10
mov byte [edi + ebx*4 + 0x23], dl
jmp 0x100d05e8
mov eax, dword [ebp + 0x1c]
mov dword [ebp + 0x14], 8
test al, 4
je 0x100d064d
or dword [esi + 4], 0x2000000
add edx, dword [ebp + 0x14]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], ecx
mov eax, dword [ebp + 0x1c]
jne 0x100d0678
mov eax, dword [ebp + 0xc]
and eax, 0x3000000
cmp eax, 0x1000000
jne 0x100d0675
mov byte [edi + ebx*4 + 0x22], 1
mov byte [edi + ebx*4 + 0x23], dl
jmp 0x100d05b9
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x14]
test cl, al
je 0x100d068a
or dword [esi + 4], 0x2000000
push 0x40
jmp 0x100d068f
push 0x20
add dl, 0x10
mov byte [edi + ebx*4 + 0x22], 1
pop eax
mov byte [edi + ebx*4 + 0x23], dl
mov word [edi + ebx*4 + 0x24], ax
jmp 0x100d0f64
test byte [ebp + 0x1c], 1
mov ecx, dword [ebp + 0x18]
je 0x100d06b6
or dword [esi + 4], 0x2000000
add ecx, 8
mov esi, dword [ebp - 4]
lea eax, [ecx + 0x10]
push 2
pop edx
movzx eax, al
cmp dword [esi + 0x18], edx
movzx ecx, cl
cmovne ecx, eax
mov dword [ebp + 0x10], 0x20
push 0x40
pop eax
cmovne eax, dword [ebp + 0x10]
mov byte [edi + ebx*4 + 0x22], 1
movzx eax, ax
mov byte [edi + ebx*4 + 0x23], cl
jmp 0x100d0699
add dl, 0x53
jmp 0x100d0667
mov ecx, dword [ebp + 0x18]
add cl, 0x53
mov byte [edi + ebx*4 + 0x23], cl
jmp 0x100d05b4
xor eax, eax
mov edx, eax
jmp 0x100d0707
mov eax, dword [ebp + 0x1c]
test al, 4
je 0x100d0715
or dword [esi + 4], 0x2000000
add edx, 8
add dl, 0x5b
mov byte [edi + ebx*4 + 0x23], dl
mov byte [edi + ebx*4 + 0x22], 1
mov eax, 0x80
jmp 0x100d057f
test byte [ebp + 0x1c], 1
mov eax, dword [ebp + 0x18]
je 0x100d073e
or dword [esi + 4], 0x2000000
add eax, 8
add al, 0x5b
mov byte [edi + ebx*4 + 0x23], al
jmp 0x100d071c
test byte [ebp + 0x1c], 4
je 0x100d0758
or dword [esi + 4], 0x2000000
add edx, 8
jmp 0x100d076e
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], 1
jne 0x100d076e
push 0x10
pop eax
test byte [esi], al
je 0x100d076e
add edx, 8
or dword [esi + 4], eax
cmp edx, 9
jae case.0x100d03aa.52
cmp edx, 1
je case.0x100d03aa.52
cmp edx, 5
jb 0x100d078e
cmp edx, 7
jbe case.0x100d03aa.52
mov esi, dword [ebp - 4]
push 0x40
pop eax
push 0x20
cmp dword [esi + 0x18], ecx
pop ecx
cmovne eax, ecx
mov byte [edi + ebx*4 + 0x22], 1
add dl, 0x7b
jmp 0x100d0f5b
cmp edx, 4
je case.0x100d03aa.52
cmp edx, 5
je case.0x100d03aa.52
test byte [ebp + 0x1c], 4
jne case.0x100d03aa.52
mov esi, dword [ebp - 4]
push 0x40
pop eax
push 0x20
cmp dword [esi + 0x18], ecx
pop ecx
cmovne eax, ecx
mov byte [edi + ebx*4 + 0x22], 1
sub dl, 0x7c
jmp 0x100d0f5b
cmp dword [ebp + 0x28], 0
je 0x100d07f1
cmp edx, 1
je case.0x100d03aa.52
cmp edx, 5
ja case.0x100d03aa.52
add dl, 0x44
jmp 0x100d0573
push 0x10
pop eax
mov word [edi + ebx*4 + 0x24], ax
mov eax, dword [ebp + 0xc]
mov byte [edi + ebx*4 + 0x22], 1
and eax, 0x1f80
or dword [esi + 4], 0x2000
cmp eax, 0x80
je 0x100d087e
cmp eax, 0x100
je 0x100d0874
cmp eax, 0x200
je 0x100d086a
cmp eax, 0x400
je 0x100d0860
cmp eax, 0x800
je 0x100d0856
cmp eax, 0x1000
jne 0x100d0f64
mov byte [edi + ebx*4 + 0x23], 0x49
jmp 0x100d0f64
mov byte [edi + ebx*4 + 0x23], 0x48
jmp 0x100d0f64
mov byte [edi + ebx*4 + 0x23], 0x44
jmp 0x100d0f64
mov byte [edi + ebx*4 + 0x23], 0x47
jmp 0x100d0f64
mov byte [edi + ebx*4 + 0x23], 0x46
jmp 0x100d0f64
mov byte [edi + ebx*4 + 0x23], 0x45
jmp 0x100d0f64
mov word [edi + ebx*4 + 0x22], 0x3001
push 8
jmp 0x100d057e
cmp dword [ebp + 0x20], 0
jne 0x100d08af
or dword [esi + 4], 0x2000
mov word [edi + ebx*4 + 0x22], 0x2001
jmp 0x100d057c
cmp dword [ebp + 0x20], 1
jne 0x100d08c8
or dword [esi + 4], 0x2000
mov word [edi + ebx*4 + 0x22], 0x1001
jmp 0x100d05ed
mov eax, dword [ebp + 0xc]
not eax
test eax, 0x1000000
je 0x100d08db
or dword [esi + 4], 0x2000000
mov word [edi + ebx*4 + 0x22], 1
jmp 0x100d05b9
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x14]
or dword [esi + 4], 0x2000
cmp dword [ebp + 0x20], 0
jne 0x100d0928
add eax, 0xfffffffc
mov dword [edx + 0x14], eax
js case.0x100d03aa.52
mov ecx, dword [edx + 0x10]
push 0x10
pop eax
mov word [edi + ebx*4 + 0x24], ax
mov byte [edi + ebx*4 + 0x22], 9
movzx eax, word [ecx]
mov dword [edi + 4], eax
lea eax, [ecx + 4]
mov dword [edx + 0x10], eax
movzx eax, word [ecx + 2]
jmp 0x100d0953
add eax, 0xfffffffa
mov dword [edx + 0x14], eax
js case.0x100d03aa.52
mov ecx, dword [edx + 0x10]
push 0x20
pop eax
mov word [edi + ebx*4 + 0x24], ax
mov byte [edi + ebx*4 + 0x22], 9
mov eax, dword [ecx]
mov dword [edi + 4], eax
lea eax, [ecx + 6]
mov dword [edx + 0x10], eax
movzx eax, word [ecx + 4]
mov word [edi], ax
jmp 0x100d0f64
cmp dword [ebp + 0x10], 0x28
push 0x10
pop edx
push 8
pop eax
mov dword [ebp + 0x14], eax
jne 0x100d0977
mov byte [edi + ebx*4 + 0x22], al
mov word [edi + ebx*4 + 0x24], ax
push 1
jmp 0x100d098e
or dword [esi + 4], 0x2000
cmp dword [ebp + 0x20], 0
mov byte [edi + ebx*4 + 0x22], al
jne 0x100d09ca
mov word [edi + ebx*4 + 0x24], dx
push ecx
mov ecx, dword [ebp - 4]
mov edx, edi
call fcn.100cfaa8
test eax, eax
je case.0x100d03aa.52
mov eax, dword [ebp + 8]
mov ecx, 0x86
mov ax, word [eax + 2]
sub ax, cx
cmp ax, 0x44
ja 0x100d0f64
test byte [esi], 0x80
je 0x100d09d6
or dword [esi + 4], 0x80
push 0x10
pop eax
jmp 0x100d09e9
push 0x20
pop eax
mov word [edi + ebx*4 + 0x24], ax
push 4
jmp 0x100d098e
mov eax, 0x200
test dword [esi], eax
je 0x100d0f64
or dword [esi + 4], eax
mov eax, dword [ebp + 0x14]
or word [edi + 0x18], ax
jmp 0x100d0f64
mov eax, dword [ebp + 0x14]
mov word [edi + ebx*4 + 0x24], ax
push 0x10
pop ecx
xor edx, edx
mov byte [edi + ebx*4 + 0x22], 5
push 0x20
pop eax
cmp word [edi + ebx*4 + 0x24], dx
jne 0x100d0a2f
mov edx, dword [ebp + 0x20]
sub edx, 0
je 0x100d0a2a
sub edx, 1
je 0x100d0a23
sub edx, 1
jne 0x100d0a2f
push 0x40
pop eax
mov word [edi + ebx*4 + 0x24], ax
jmp 0x100d0a2f
mov word [edi + ebx*4 + 0x24], cx
mov eax, dword [ebp - 4]
mov edx, esi
push edi
mov ecx, 0x200
push dword [eax + 0x18]
call fcn.100cf36f
add esp, 8
lea ecx, [edi + 8]
cmp dword [ebp + 0x24], 0
jne 0x100d0a63
or dword [esi + 4], 0x4000
push 0x10
pop eax
push 2
pop edx
push edx
mov edx, ecx
mov ecx, dword [ebp - 4]
jmp 0x100d0a83
cmp dword [ebp + 0x24], 1
mov edx, ecx
mov ecx, dword [ebp - 4]
jne 0x100d0a7d
or dword [esi + 4], 0x4000
mov byte [edi + 0x36], 0x20
push 4
jmp 0x100d0a86
push 0x40
pop eax
push dword [ebp + 0x14]
mov byte [edi + 0x36], al
call fcn.100cfa48
test eax, eax
jne 0x100d0f64
jmp case.0x100d03aa.52
push 8
pop eax
mov byte [edi + ebx*4 + 0x22], cl
mov word [edi + ebx*4 + 0x24], ax
mov byte [edi], 1
jmp 0x100d0f64
mov word [edi + ebx*4 + 0x22], 0x3101
jmp 0x100d088f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov al, byte [eax - 1]
and al, 7
add al, 0x4b
mov byte [edi + ebx*4 + 0x23], al
jmp 0x100d05e8
mov eax, dword [ebp - 4]
push 0x20
mov word [edi + ebx*4 + 0x22], 0x4b01
pop ecx
mov eax, dword [eax + 0x10]
mov word [edi + ebx*4 + 0x24], cx
mov al, byte [eax - 1]
and al, 7
mov byte [edi + ebx*4 + 0x26], 1
add al, 0x4b
mov word [edi + ebx*4 + 0x28], cx
mov byte [edi + ebx*4 + 0x27], al
jmp 0x100d0f64
mov eax, dword [ebp - 4]
push 0x20
mov eax, dword [eax + 0x10]
mov al, byte [eax - 1]
and al, 7
mov byte [edi + ebx*4 + 0x22], 1
add al, 0x4b
mov byte [edi + ebx*4 + 0x23], al
pop eax
mov word [edi + ebx*4 + 0x24], ax
mov word [edi + ebx*4 + 0x26], 0x4b01
mov word [edi + ebx*4 + 0x28], ax
jmp 0x100d0f64
push 8
pop eax
mov word [edi + ebx*4 + 0x24], ax
mov eax, dword [ebp - 4]
mov byte [edi + ebx*4 + 0x22], 1
mov eax, dword [eax + 0x10]
movzx ecx, byte [eax - 1]
and ecx, 7
test byte [ebp + 0x1c], 1
je 0x100d0b58
or dword [esi + 4], 0x2000000
add ecx, 0x38
jmp 0x100d0b75
cmp dword [esi + 0x18], 1
jne 0x100d0b72
or dword [esi + 4], 0x2000000
cmp ecx, 4
sbb al, al
and al, 0xf4
add al, 0x3c
add cl, al
jmp 0x100d0b75
add cl, 0x30
mov byte [edi + ebx*4 + 0x23], cl
jmp 0x100d0f64
mov eax, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [eax + 0x10]
movzx edx, byte [eax - 1]
mov eax, dword [ebp + 0x20]
and edx, 7
mov dword [ebp + 0x10], edx
sub eax, ecx
je 0x100d0c0b
sub eax, 1
je 0x100d0be0
sub eax, 1
jne 0x100d0f64
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x1c]
and eax, 0x3000000
and ecx, 1
cmp eax, 0x1000000
jne 0x100d0bd1
test ecx, ecx
je 0x100d0667
or dword [esi + 4], 0x2000000
add edx, 8
jmp 0x100d0667
or dword [esi + 4], 0x2000000
lea edx, [edx + ecx*8]
jmp 0x100d0667
mov edx, dword [ebp + 0x1c]
mov ecx, 0x2000
and edx, 1
mov eax, 0x2000000
cmove eax, ecx
or dword [esi + 4], eax
mov al, byte [ebp + 0x10]
add al, 8
test edx, edx
movzx ecx, al
mov eax, dword [ebp + 0x10]
movzx eax, al
jmp 0x100d05de
mov eax, dword [esi + 4]
or eax, 0x2000
test byte [ebp + 0x1c], 1
jmp 0x100d05fd
or dword [esi + 4], 0x4000
test byte [ebp + 0xc], 4
mov byte [edi + ebx*4 + 0x22], 6
je 0x100d0c61
mov eax, dword [esi + 4]
or eax, 0x2000
cmp dword [ebp + 0x20], 0
mov dword [esi + 4], eax
jne 0x100d0c43
push 0x10
jmp 0x100d0c63
cmp dword [ebp + 0x20], ecx
jne 0x100d0c5d
test dword [ebp + 0xc], 0x1000000
je 0x100d0c5d
or eax, 0x2000000
mov dword [esi + 4], eax
push 0x40
jmp 0x100d0c63
push 0x20
jmp 0x100d0c63
push 8
pop eax
mov word [edi + ebx*4 + 0x24], ax
mov edx, esi
xor eax, eax
mov ecx, 0x200
mov byte [edi + 0x33], al
mov eax, dword [ebp - 4]
push edi
push dword [eax + 0x18]
call fcn.100cf36f
add esp, 8
cmp dword [ebp + 0x24], 0
jne 0x100d0c94
mov byte [edi + ebx*4 + 0x23], 0x26
jmp 0x100d0f64
push 6
pop eax
push 0x16
cmp dword [ebp + 0x24], 1
pop ecx
cmove eax, ecx
mov byte [edi + ebx*4 + 0x23], al
jmp 0x100d0f64
or dword [esi + 4], 0x4000
test byte [ebp + 0xc], 4
mov byte [edi + ebx*4 + 0x22], 6
je 0x100d0cef
mov eax, dword [esi + 4]
or eax, 0x2000
cmp dword [ebp + 0x20], 0
mov dword [esi + 4], eax
jne 0x100d0cd1
push 0x10
jmp 0x100d0cf1
cmp dword [ebp + 0x20], ecx
jne 0x100d0ceb
test dword [ebp + 0xc], 0x1000000
je 0x100d0ceb
or eax, 0x2000000
mov dword [esi + 4], eax
push 0x40
jmp 0x100d0cf1
push 0x20
jmp 0x100d0cf1
push 8
pop eax
mov word [edi + ebx*4 + 0x24], ax
test ebx, ebx
jne 0x100d0d07
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], ecx
je 0x100d0d07
mov byte [edi + 0x33], 0xc4
cmp dword [ebp + 0x24], 0
jne 0x100d0d17
mov byte [edi + ebx*4 + 0x23], 0x27
jmp 0x100d0f64
push 7
pop eax
push 0x17
jmp 0x100d0c99
mov word [edi + ebx*4 + 0x22], 0x2201
jmp 0x100d057c
mov word [edi + ebx*4 + 0x22], 0x1101
jmp 0x100d05ed
mov eax, dword [ebp - 4]
mov edx, esi
or dword [esi + 4], 0x4000
mov ecx, 0x200
push edi
push dword [eax + 0x18]
call fcn.100cf36f
add esp, 8
mov word [edi + ebx*4 + 0x22], 0x3007
cmp dword [ebp + 0x24], 0
push 8
pop eax
mov word [edi + ebx*4 + 0x24], ax
jne 0x100d0d74
mov byte [edi + 0x34], 0x23
jmp 0x100d0f64
cmp dword [ebp + 0x24], 1
jne 0x100d0d83
mov byte [edi + 0x34], 0x13
jmp 0x100d0f64
or dword [esi + 4], 0x2000000
push 3
pop eax
mov byte [edi + 0x34], al
jmp 0x100d0f64
mov edx, dword [ebp + 0x24]
cmp edx, ecx
jne 0x100d0db2
push 0x40
pop eax
mov word [edi + ebx*4 + 0x24], ax
mov al, 6
mov word [edi + ebx*4 + 0x22], 6
jmp 0x100d0f6c
or dword [esi + 4], 0x4000
mov byte [edi + ebx*4 + 0x22], 6
mov al, byte [edi + ebx*4 + 0x22]
cmp edx, 1
jne 0x100d0dd9
mov byte [edi + ebx*4 + 0x23], 0x10
push 0x20
pop ecx
mov word [edi + ebx*4 + 0x24], cx
jmp 0x100d0f6c
mov byte [edi + ebx*4 + 0x23], 0x20
push 0x10
jmp 0x100d0dce
mov eax, dword [ebp - 0x10]
jmp 0x100d073e
mov eax, dword [ebp - 4]
sub dword [eax + 0x14], 1
js case.0x100d03aa.52
mov esi, dword [eax + 0x10]
movzx edx, byte [esi]
shr edx, 4
mov al, dl
mov byte [edi + ebx*4 + 0x22], 1
and al, 7
movzx ecx, al
movzx eax, dl
mov edx, dword [ebp - 4]
cmp dword [edx + 0x18], 1
cmovne ecx, eax
mov eax, 0x80
mov word [edi + ebx*4 + 0x24], ax
add cl, 0x5b
lea eax, [esi + 1]
mov byte [edi + ebx*4 + 0x23], cl
mov dword [edx + 0x10], eax
jmp 0x100d0f78
mov eax, dword [ebp + 0x1c]
mov edx, eax
and al, 4
mov dword [ebp + 0x1c], eax
mov al, byte [ebp - 0xc]
add al, 8
cmp byte [ebp + 0x1c], 0
movzx ecx, al
mov eax, dword [ebp - 0xc]
movzx eax, al
cmove ecx, eax
and edx, 0x10
push 0x6b
pop eax
cmove eax, dword [ebp - 8]
add cl, al
mov eax, 0x100
test edx, edx
lea esi, [eax - 0x80]
cmove eax, esi
jmp 0x100d06d9
mov esi, dword [ebp - 4]
sub dword [esi + 0x14], 1
js case.0x100d03aa.52
mov eax, dword [esi + 0x10]
and dword [ebp + 0x1c], 0x10
push 0x6b
mov dword [ebp + 0x10], 0x80
movzx ecx, byte [eax]
shr ecx, 4
mov al, cl
and al, 7
cmp dword [esi + 0x18], 1
movzx edx, al
movzx eax, cl
mov ecx, dword [ebp + 0x1c]
cmovne edx, eax
test ecx, ecx
mov byte [edi + ebx*4 + 0x22], 1
pop eax
cmove eax, dword [ebp - 8]
add dl, al
test ecx, ecx
mov eax, 0x100
mov byte [edi + ebx*4 + 0x23], dl
cmove eax, dword [ebp + 0x10]
movzx eax, ax
mov word [edi + ebx*4 + 0x24], ax
inc dword [esi + 0x10]
jmp 0x100d0f64
and byte [ebp + 0x1c], 4
lea eax, [edx + 8]
cmp byte [ebp + 0x1c], 0
movzx ecx, al
movzx eax, dl
cmove ecx, eax
add cl, 0x6b
mov byte [edi + ebx*4 + 0x23], cl
mov byte [edi + ebx*4 + 0x22], 1
mov eax, 0x100
jmp 0x100d057f
mov eax, dword [ebp - 0x10]
add al, 0x6b
mov byte [edi + ebx*4 + 0x23], al
jmp 0x100d0ef1
mov edx, dword [ebp + 0x1c]
and edx, 0x10
push 0x6b
pop ecx
cmove ecx, dword [ebp - 8]
add cl, byte [ebp - 0x10]
jmp 0x100d0e60
mov eax, dword [ebp + 0x1c]
mov ecx, eax
and al, 4
mov dword [ebp + 0x14], 8
mov dword [ebp + 0x1c], eax
lea eax, [edx + 8]
cmp byte [ebp + 0x1c], 0
movzx eax, al
mov dword [ebp + 0x10], eax
movzx eax, dl
mov edx, dword [ebp + 0x10]
cmove edx, eax
mov byte [edi + ebx*4 + 0x22], 1
and ecx, 8
jne 0x100d066c
add dl, 0x10
push 0x20
pop eax
mov word [edi + ebx*4 + 0x24], ax
mov byte [edi + ebx*4 + 0x23], dl
mov al, byte [edi + ebx*4 + 0x22]
cmp al, 1
je 0x100d0f78
cmp al, 6
je 0x100d0f78
cmp al, 7
jne 0x100d021b
movzx ecx, byte [edi + ebx*4 + 0x23]
mov ecx, dword [ecx*4 + 0x101eed68]
or dword [edi + 0x1c], ecx
jmp 0x100d021b
mov edx, eax
and edx, 0x10
or edx, 0x60
shr edx, 4
jmp 0x100d01a2
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x100d0fae
test byte [esi], 0x10
je 0x100d0fae
mov dword [eax], 1
cmp dword [ebp + 0x20], 2
jne 0x100d0fc4
or dword [esi + 4], 0x2000000
mov dword [ebp + 0x14], 6
jmp 0x100d0fe9
mov dword [ebp + 0x14], 4
jmp 0x100d0fe9
mov dword [ebp + 0x14], 6
jmp 0x100d0fe6
cmp dword [ebp + 0x20], 2
je 0x100d01cf
push 3
pop eax
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp - 0x14]
push 3
pop ecx
cmp edx, ecx
jne 0x100d0fff
test eax, eax
je case.0x100d03aa.52
xor ecx, ecx
mov dword [eax], ecx
xor eax, eax
jmp 0x100d1058
mov eax, dword [ebp + 0x14]
mov ax, word [eax*2 + 0x101eed50]
push dword [ebp + 0xc]
mov ecx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp - 4]
push edx
push dword [ebp + 0x28]
mov edx, edi
mov word [edi + ebx*4 + 0x24], ax
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push esi
push ebx
push dword [ebp + 0x10]
call fcn.100cfc15
mov cl, byte [edi + ebx*4 + 0x22]
add esp, 0x24
mov edx, eax
cmp cl, 1
je 0x100d1047
cmp cl, 6
je 0x100d1047
cmp cl, 7
jne 0x100d1056
movzx eax, byte [edi + ebx*4 + 0x23]
mov eax, dword [eax*4 + 0x101eed68]
or dword [edi + 0x1c], eax
mov eax, edx
pop edi
pop esi
pop ebx
leave
ret