Function at 0x100d1d40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x7c
mov eax, dword [0x1026d48c]
xor eax, esp
mov dword [esp + 0x78], eax
push ebp
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x64], ecx
mov ecx, dword [ebp + 4]
xor eax, eax
cmp ecx, 0xa
jne 0x100d1df8
mov dword [ebp + 0xfa14], eax
mov dword [ebp + 0xfa18], eax
mov dword [ebp + 0xfa1c], eax
mov dword [ebp + 0xfa20], eax
mov dword [ebp + 0xfa24], eax
mov dword [ebp + 0xfa28], eax
mov dword [ebp + 0xfa2c], eax
mov dword [ebp + 0xfa30], eax
mov dword [ebp + 0xfa34], eax
mov dword [ebp + 0xfa38], eax
mov dword [ebp + 0xfa3c], eax
mov dword [ebp + 0xfa40], eax
mov dword [ebp + 0xfa44], eax
mov dword [ebp + 0xfa48], eax
mov dword [ebp + 0xfa4c], eax
mov dword [ebp + 0xfa50], eax
mov dword [ebp + 0xfa54], eax
mov dword [ebp + 0xfa58], eax
mov dword [ebp + 0xfa5c], eax
mov dword [ebp + 0xfa60], eax
mov dword [ebp + 0xfa64], eax
mov dword [ebp + 0xfa68], eax
mov dword [ebp + 0xfa6c], eax
mov dword [ebp + 0xfa70], eax
mov edx, dword [ebp + 0xfa14]
mov dword [esp + 4], edx
mov edx, dword [ebp + 0xfa18]
mov dword [esp + 0x14], edx
mov edx, dword [ebp + 0xfa1c]
mov dword [esp + 0x20], edx
mov edx, dword [ebp + 0xfa20]
mov dword [esp + 0x48], edx
mov edx, dword [ebp + 0xfa24]
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 0xfa28]
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0xfa2c]
mov dword [esp + 0x4c], edx
mov edx, dword [ebp + 0xfa30]
mov dword [esp + 0x58], edx
mov edx, dword [ebp + 0xfa34]
mov dword [esp + 0x34], edx
mov edx, dword [ebp + 0xfa38]
mov dword [esp + 0x40], edx
mov edx, dword [ebp + 0xfa3c]
mov dword [esp + 0x28], edx
mov edx, dword [ebp + 0xfa40]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0xfa44]
mov dword [esp + 0x18], edx
mov edx, dword [ebp + 0xfa48]
mov dword [esp + 0x54], edx
mov edx, dword [ebp + 0xfa4c]
mov dword [esp + 0x24], edx
mov edx, dword [ebp + 0xfa50]
mov dword [esp + 0x6c], edx
mov edx, dword [ebp + 0xfa54]
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 0xfa58]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0xfa5c]
mov dword [esp + 0x60], edx
mov edx, dword [ebp + 0xfa60]
mov dword [esp + 0x5c], edx
mov edx, dword [ebp + 0xfa64]
mov dword [esp + 0x44], edx
mov edx, dword [ebp + 0xfa68]
mov dword [esp + 0x3c], edx
mov edx, dword [ebp + 0xfa6c]
mov dword [esp + 0x30], edx
mov edx, dword [ebp + 0xfa70]
add ecx, 0xfffffff6
cmp ecx, 0x28
mov dword [esp + 0x2c], edx
ja case.default.0x100d1f06
push ebx
push esi
push edi
mov esi, 1
mov ebx, 0x1d
mov edi, 0x1c
jmp dword [ecx*4 + 0x100d40ec]
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xa
jge 0x100d1f65
lea ebx, [ebx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d1f60
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d1f20
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x42
je case.0x100d1f06.11
mov eax, 0xffffffce
jmp 0x100d39d4
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xb
jge 0x100d1fe5
jmp 0x100d1fa0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d1fe0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d1fa0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x5a
je case.0x100d1f06.12
mov eax, 0xffffffcd
jmp 0x100d39d4
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xc
jge 0x100d2065
jmp 0x100d2020
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2060
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2020
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x68
je case.0x100d1f06.13
mov eax, 0xffffffcc
jmp 0x100d39d4
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xd
jge 0x100d20e5
jmp 0x100d20a0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d20e0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d20a0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp eax, 0x31
mov dword [ebp + 0x24], eax
jl 0x100d2175
cmp eax, 0x39
jg 0x100d2175
add eax, 0xffffffd0
mov dword [ebp + 0x24], eax
imul eax, eax, 0x186a0
cmp byte [ebp + 0x28], 0
push eax
je 0x100d2159
call fcn.10017260
mov dword [ebp + 0xc50], eax
mov eax, dword [ebp + 0x24]
imul eax, eax, 0x186a0
add eax, esi
sar eax, 1
push eax
call fcn.10017110
add esp, 8
cmp dword [ebp + 0xc50], 0
mov dword [ebp + 0xc54], eax
je 0x100d214f
test eax, eax
jne case.0x100d1f06.14
mov eax, 0xfffffffd
jmp 0x100d39d4
call fcn.100171c0
add esp, 4
test eax, eax
mov dword [ebp + 0xc4c], eax
jne case.0x100d1f06.14
mov eax, 0xfffffffd
jmp 0x100d39d4
mov eax, 0xffffffcb
jmp 0x100d39d4
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xe
jge 0x100d21d5
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d21d0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2190
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x17
je case.0x100d1f06.42
cmp al, 0x31
je case.0x100d1f06.15
mov eax, 0xfffffff1
jmp 0x100d39d4
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xf
jge 0x100d2255
mov edi, edi
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2250
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2210
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x41
je case.0x100d1f06.16
mov eax, 0xfffffff0
jmp 0x100d39d4
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x10
jge 0x100d22d5
jmp 0x100d2290
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d22d0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2290
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x59
je case.0x100d1f06.17
mov eax, 0xffffffef
jmp 0x100d39d4
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x11
jge 0x100d2355
jmp 0x100d2310
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2350
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2310
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x26
je case.0x100d1f06.18
mov eax, 0xffffffee
jmp 0x100d39d4
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x12
jge 0x100d23d5
jmp 0x100d2390
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d23d0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2390
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x53
je case.0x100d1f06.19
mov eax, 0xffffffec
jmp 0x100d39d4
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x13
jge 0x100d2455
jmp 0x100d2410
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2450
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2410
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x59
je 0x100d2479
mov eax, 0xffffffeb
jmp 0x100d39d4
add dword [ebp + 0x2c], esi
mov dword [ebp + 0xc58], 0
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x14
jge 0x100d24d8
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d24d3
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2493
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x15
jge 0x100d2555
nop
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2550
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2510
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x16
jge 0x100d25d5
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d25d0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2590
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x17
jge 0x100d2655
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2650
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2610
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x18
jge 0x100d26d1
jmp 0x100d2690
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
add dword [ebp + 0x20], 8
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d26cc
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x100d2690
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
mov dword [ebp + 0x34], 0
and eax, esi
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
mov byte [ebp + 0x10], al
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x19
jge 0x100d2745
jmp 0x100d2700
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2740
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2700
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0x34]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x34], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x1a
jge 0x100d27c5
jmp 0x100d2780
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d27c0
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2780
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0x34]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x34], ecx
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0x1b
jge 0x100d2845
jmp 0x100d2800
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2840
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2800
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x34]
and edx, 0xff
movzx ecx, dl
shl eax, 8
or eax, ecx
mov dword [ebp + 0x34], eax
jge 0x100d2876
mov eax, 0xffffffea
jmp 0x100d39d4
mov edx, dword [ebp + 0x24]
imul edx, edx, 0x186a0
add edx, 0xa
cmp eax, edx
jle 0x100d2890
mov eax, 0xffffffe9
jmp 0x100d39d4
mov dword [esp + 0x10], 0
jmp 0x100d290c
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], edi
jge 0x100d28e3
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
add dword [ebp + 0x20], 8
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d28de
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x100d28a2
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
cmp al, 1
mov eax, dword [esp + 0x10]
sete cl
mov byte [eax + ebp + 0xd6c], cl
add eax, esi
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0x10
jl case.0x100d1f06.28
push 0x100
lea eax, [ebp + 0xc6c]
push 0
push eax
call fcn.1018fc10
add esp, 0xc
mov dword [esp + 0x10], 0
jmp 0x100d29c0
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], ebx
jge 0x100d2981
or ecx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov edi, dword [eax]
movzx edi, byte [edi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], 8
shl edx, 8
or edx, edi
mov dword [ebp + 0x1c], edx
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d297c
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x100d2941
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
cmp al, 1
jne 0x100d29ad
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
shl eax, 4
add eax, ebp
mov byte [eax + ecx + 0xc6c], 1
add dword [esp + 0x20], esi
cmp dword [esp + 0x20], 0x10
jl case.0x100d1f06.29
add dword [esp + 0x10], esi
mov eax, dword [esp + 0x10]
cmp eax, 0x10
jge 0x100d29dd
cmp byte [eax + ebp + 0xd6c], 0
je 0x100d29bc
mov dword [esp + 0x20], 0
jmp 0x100d29b1
mov eax, ebp
call fcn.100d1d00
mov eax, dword [ebp + 0xc68]
test eax, eax
jne 0x100d29f8
mov eax, 0xffffffe8
jmp 0x100d39d4
add eax, 2
mov dword [esp + 0x54], eax
mov ecx, 3
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x1e
jge 0x100d2a53
or edx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], 8
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2a4e
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d2a13
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 3]
shr eax, cl
add edx, 0xfffffffd
mov dword [ebp + 0x20], edx
and eax, 7
cmp eax, 2
mov dword [esp + 0x5c], eax
jl 0x100d2a75
cmp eax, 6
jle case.0x100d1f06.31
mov eax, 0xffffffe7
jmp 0x100d39d4
cmp dword [ebp + 0x20], 0xf
mov dword [ebp + 4], 0x1f
jge 0x100d2ae0
mov edx, 8
or ecx, 0xffffffff
jmp 0x100d2aa0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2ada
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], 0xf
jl 0x100d2aa0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 0xf]
shr eax, cl
add edx, 0xfffffff1
mov dword [ebp + 0x20], edx
and eax, 0x7fff
cmp eax, esi
mov ebx, eax
mov dword [esp + 0x44], ebx
jge 0x100d2b0a
mov eax, 0xffffffe6
jmp 0x100d39d4
mov dword [esp + 0x10], 0
jmp 0x100d2b9f
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x20
jge 0x100d2b6f
mov edx, 8
or ecx, 0xffffffff
jmp 0x100d2b30
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2b6a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x100d2b30
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
test al, al
jne 0x100d2bb2
mov eax, dword [esp + 0x10]
mov dl, byte [esp + 0x20]
mov ebx, dword [esp + 0x44]
mov byte [eax + ebp + 0x650e], dl
add eax, esi
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], ebx
jge 0x100d2bd0
mov dword [esp + 0x20], 0
jmp case.0x100d1f06.32
mov eax, dword [esp + 0x20]
add eax, esi
cmp eax, dword [esp + 0x5c]
mov dword [esp + 0x20], eax
jl case.0x100d1f06.32
mov eax, 0xffffffe5
jmp 0x100d39d4
mov edx, dword [esp + 0x5c]
xor al, al
test edx, edx
jle 0x100d2bf0
xor ecx, ecx
lea esp, [esp]
mov byte [esp + ecx + 0x80], al
add al, 1
movzx ecx, al
cmp ecx, edx
jl 0x100d2be0
xor edi, edi
test ebx, ebx
mov dword [esp + 0x10], edi
jle 0x100d2c47
lea ebx, [ebx]
mov al, byte [edi + ebp + 0x650e]
test al, al
movzx ecx, al
mov dl, byte [esp + ecx + 0x80]
lea ecx, [esp + ecx + 0x80]
jbe 0x100d2c2d
lea esp, [esp]
mov bl, byte [ecx - 1]
mov byte [ecx], bl
add al, 0xff
sub ecx, esi
test al, al
ja 0x100d2c20
mov byte [edi + ebp + 0x1ebc], dl
add edi, esi
cmp edi, dword [esp + 0x44]
mov byte [esp + 0x80], dl
jl 0x100d2c00
mov dword [esp + 0x10], edi
mov dword [esp + 0x2c], 0
jmp 0x100d2d8d
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x23
jge 0x100d2caf
mov edx, 8
or ecx, 0xffffffff
jmp 0x100d2c70
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2caa
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x100d2c70
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
test al, al
jne 0x100d2ccc
add dword [esp + 0x30], esi
jmp 0x100d2cd0
sub dword [esp + 0x30], esi
mov eax, dword [esp + 0x30]
cmp eax, esi
jl 0x100d3019
cmp eax, 0x14
jg 0x100d3019
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x22
jge 0x100d2d3f
mov edx, 8
or ecx, 0xffffffff
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2d3a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x100d2d00
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
test al, al
jne case.0x100d1f06.35
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
imul ecx, ecx, 0x102
mov dl, byte [esp + 0x30]
add ecx, ebp
mov byte [ecx + eax + 0xab60], dl
add eax, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x54]
jl 0x100d2cd0
add dword [esp + 0x2c], esi
mov eax, dword [esp + 0x5c]
cmp dword [esp + 0x2c], eax
jge 0x100d2e15
cmp dword [ebp + 0x20], 5
mov dword [ebp + 4], 0x21
jge 0x100d2df0
mov edx, 8
or ecx, 0xffffffff
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2dea
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], 5
jl 0x100d2db0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 5]
shr eax, cl
mov dword [esp + 0x10], 0
and eax, 0x1f
add edx, 0xfffffffb
mov dword [ebp + 0x20], edx
mov dword [esp + 0x30], eax
jmp 0x100d2d7b
test eax, eax
mov dword [esp + 0x2c], 0
jle 0x100d2eb2
mov eax, dword [esp + 0x5c]
lea ecx, [ebp + 0xf9fc]
mov dword [esp + 0x58], ecx
lea esi, [ebp + 0xc99c]
lea ebx, [ebp + 0xab60]
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], eax
xor edx, edx
xor ecx, ecx
cmp dword [esp + 0x54], edx
mov edi, 0x20
jle 0x100d2e6f
movzx eax, byte [ebx + edx]
cmp eax, ecx
jle 0x100d2e60
mov ecx, eax
cmp eax, edi
jge 0x100d2e66
mov edi, eax
add edx, 1
cmp edx, dword [esp + 0x54]
jl 0x100d2e56
mov edx, dword [esp + 0x54]
push edx
push ecx
push edi
push ebx
lea eax, [esi + 0x1830]
push eax
push esi
lea ecx, [esi - 0x1830]
push ecx
mov ecx, dword [esp + 0x8c]
call fcn.10183560
mov eax, dword [esp + 0x58]
mov dword [eax], edi
add eax, 4
add ebx, 0x102
add esi, 0x408
sub dword [esp + 0x34], 1
mov dword [esp + 0x58], eax
jne 0x100d2e47
mov eax, dword [ebp + 0xc68]
add eax, 1
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x24]
imul eax, eax, 0x186a0
mov dword [esp + 0x34], eax
xor esi, esi
xor eax, eax
lea edi, [ebp + 0x40]
mov ecx, 0x100
rep stosd dword es:[edi], eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x10], 0x100
mov eax, 0xfff
mov edx, 0xf
lea edi, [ebp + 0x1eb8]
mov bl, dl
shl bl, 4
mov ecx, 0xf
mov byte [esp + 0x17], bl
jmp 0x100d2f14
mov bl, byte [esp + 0x17]
add bl, cl
mov byte [eax + ebp + 0xe7c], bl
sub eax, 1
sub ecx, 1
jns 0x100d2f10
lea ecx, [eax + 1]
mov dword [edi], ecx
sub edx, 1
sub edi, 4
cmp edx, esi
jge 0x100d2ef6
cmp dword [esp + 0x44], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x64], esi
jle 0x100d3c1a
movzx eax, byte [ebp + 0x1ebc]
mov ecx, dword [ebp + eax*4 + 0xf9fc]
mov dword [esp + 0x68], eax
imul eax, eax, 0x408
add eax, ebp
lea edx, [eax + 0xb16c]
mov dword [esp + 0x48], edx
lea edx, [eax + 0xe1cc]
add eax, 0xc99c
mov dword [esp + 0x50], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0x31
mov dword [esp + 0x18], ecx
mov esi, 1
mov eax, dword [ebp + 0x20]
cmp eax, dword [esp + 0x18]
mov dword [ebp + 4], 0x24
jge 0x100d2ff3
mov edx, 8
or ecx, 0xffffffff
lea ebx, [ebx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d2fea
add dword [eax + 0xc], esi
mov eax, dword [esp + 0x18]
cmp dword [ebp + 0x20], eax
jl 0x100d2fb0
mov edx, dword [ebp + 0x20]
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 0x1c]
sub edx, edi
mov ecx, edx
shr eax, cl
mov ebx, esi
mov ecx, edi
shl ebx, cl
mov dword [ebp + 0x20], edx
sub ebx, esi
and eax, ebx
mov dword [esp + 0x28], eax
jmp 0x100d30a9
mov eax, 0xffffffe4
jmp 0x100d39d4
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x25
jge 0x100d307f
mov edx, 8
or ecx, 0xffffffff
jmp 0x100d3040
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d307a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x100d3040
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov edi, dword [esp + 0x18]
lea ecx, [edx - 1]
shr eax, cl
mov ecx, dword [esp + 0x28]
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
lea edx, [ecx + ecx]
or edx, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x28], edx
mov eax, edx
cmp edi, 0x14
jg 0x100d3c24
mov ecx, dword [esp + 0x48]
cmp eax, dword [ecx + edi*4]
jle 0x100d30c6
add edi, esi
mov dword [esp + 0x18], edi
jmp case.0x100d1f06.37
mov edx, dword [esp + 0x3c]
sub eax, dword [edx + edi*4]
js 0x100d30da
cmp eax, 0x102
jl 0x100d3195
mov eax, 0xfffffff2
jmp 0x100d39d4
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x29
jge 0x100d313f
mov edx, 8
or ecx, 0xffffffff
jmp 0x100d3100
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d313a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x100d3100
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov edi, dword [esp + 0x18]
lea ecx, [edx - 1]
shr eax, cl
mov ecx, dword [esp + 0x28]
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, esi
lea edx, [ecx + ecx]
mov dword [esp + 0x6c], eax
or eax, edx
cmp edi, 0x14
mov dword [esp + 0x28], eax
jg 0x100d3c24
mov ecx, dword [esp + 0x48]
cmp eax, dword [ecx + edi*4]
jg 0x100d3795
mov edx, dword [esp + 0x3c]
sub eax, dword [edx + edi*4]
js 0x100d30da
cmp eax, 0x102
jge 0x100d30da
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x58]
je 0x100d37a0
test ecx, ecx
je 0x100d31ba
cmp ecx, esi
jne 0x100d345a
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x60], esi
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x100d31d8
mov eax, dword [esp + 0x60]
add dword [esp + 0x24], eax
jmp 0x100d31eb
cmp eax, esi
jne 0x100d31eb
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x60]
lea eax, [ecx + edx*2]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x60]
lea edx, [ecx + ecx]
mov ecx, dword [esp + 0x40]
test ecx, ecx
mov dword [esp + 0x60], edx
jne 0x100d3253
mov eax, dword [esp + 0x64]
add eax, esi
cmp eax, dword [esp + 0x44]
mov dword [esp + 0x64], eax
jge 0x100d3c1a
movzx eax, byte [eax + ebp + 0x1ebc]
mov edx, dword [ebp + eax*4 + 0xf9fc]
mov dword [esp + 0x68], eax
imul eax, eax, 0x408
add eax, ebp
mov dword [esp + 0x50], edx
lea edx, [eax + 0xb16c]
mov dword [esp + 0x48], edx
lea edx, [eax + 0xe1cc]
add eax, 0xc99c
mov ecx, 0x32
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x50]
sub ecx, esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x18], eax
mov ecx, dword [ebp + 0x20]
cmp ecx, dword [esp + 0x18]
mov dword [ebp + 4], 0x26
jge 0x100d32c3
mov edx, 8
or ecx, 0xffffffff
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d32ba
add dword [eax + 0xc], esi
mov eax, dword [esp + 0x18]
cmp dword [ebp + 0x20], eax
jl 0x100d3280
mov edx, dword [ebp + 0x20]
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 0x1c]
sub edx, edi
mov ecx, edx
shr eax, cl
mov ebx, esi
mov ecx, edi
shl ebx, cl
mov dword [ebp + 0x20], edx
sub ebx, esi
and eax, ebx
cmp edi, 0x14
mov dword [esp + 0x28], eax
jg 0x100d3c24
mov ecx, dword [esp + 0x48]
cmp eax, dword [ecx + edi*4]
jle 0x100d3388
add edi, esi
mov dword [esp + 0x18], edi
cmp dword [ebp + 0x20], esi
mov dword [ebp + 4], 0x27
jge 0x100d335f
mov edx, 8
or ecx, 0xffffffff
jmp 0x100d3320
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d335a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], esi
jl 0x100d3320
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov edi, dword [esp + 0x18]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
mov edx, dword [esp + 0x28]
and eax, esi
lea ecx, [edx + edx]
mov dword [esp + 0x6c], eax
or eax, ecx
jmp 0x100d32e0
mov edx, dword [esp + 0x3c]
sub eax, dword [edx + edi*4]
js 0x100d30da
cmp eax, 0x102
jge 0x100d30da
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + eax*4]
test eax, eax
mov dword [esp + 0x4c], eax
je 0x100d31c6
cmp eax, esi
je 0x100d31c6
mov eax, dword [ebp + 0x1e7c]
movzx ecx, byte [eax + ebp + 0xe7c]
mov cl, byte [ecx + ebp + 0xd7c]
mov edx, dword [esp + 0x24]
add edx, esi
movzx eax, cl
add dword [ebp + eax*4 + 0x40], edx
cmp byte [ebp + 0x28], 0
mov dword [esp + 0x24], edx
je 0x100d3420
test edx, edx
jle 0x100d31a0
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x34]
jge 0x100d3c2e
mov ebx, dword [ebp + 0xc50]
movzx di, cl
sub edx, esi
mov word [ebx + eax*2], di
add eax, esi
test edx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edx
jg 0x100d33f3
jmp 0x100d31a0
test edx, edx
jle 0x100d31a0
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
cmp ecx, edi
jge 0x100d3c38
mov ebx, dword [ebp + 0xc4c]
sub edx, esi
mov dword [ebx + ecx*4], eax
add ecx, esi
test edx, edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], edx
jg 0x100d3434
jmp 0x100d31a0
mov edx, dword [esp + 0x34]
cmp dword [esp + 0x1c], edx
jge 0x100d3c10
add ecx, 0xffffffff
cmp ecx, 0x10
jae 0x100d353e
cmp ecx, 3
mov esi, dword [ebp + 0x1e7c]
lea edx, [esi + ebp]
mov bl, byte [ecx + edx + 0xe7c]
mov dword [esp + 0x80], edx
mov byte [esp + 0x17], bl
jbe 0x100d351c
lea eax, [esi + ecx]
lea edx, [ebp + 0xe7b]
mov esi, ebp
sub esi, edx
add esi, 0xe7c
mov dword [esp + 0x70], esi
mov esi, ebp
sub esi, edx
lea edi, [esi + 0xe7a]
mov esi, ebp
sub esi, edx
add esi, 0xe78
mov dword [esp + 0x7c], esi
mov esi, ebp
sub esi, edx
add esi, 0xe79
mov dword [esp + 0x74], esi
lea esi, [ecx - 4]
shr esi, 2
add eax, edx
add esi, 1
movzx edx, byte [eax]
mov ebx, dword [esp + 0x70]
mov byte [ebx + eax], dl
movzx edx, byte [edi + eax]
mov byte [eax], dl
mov edx, dword [esp + 0x74]
movzx ebx, byte [edx + eax]
mov byte [edi + eax], bl
mov ebx, dword [esp + 0x7c]
movzx ebx, byte [ebx + eax]
mov byte [edx + eax], bl
sub ecx, 4
sub eax, 4
sub esi, 1
jne 0x100d34e0
mov edx, dword [esp + 0x80]
mov bl, byte [esp + 0x17]
test ecx, ecx
jbe 0x100d3533
sub ecx, 1
mov al, byte [ecx + edx + 0xe7c]
mov byte [ecx + edx + 0xe7d], al
jne 0x100d3520
mov byte [edx + 0xe7c], bl
jmp 0x100d365d
mov edx, ecx
shr edx, 4
mov edi, dword [ebp + edx*4 + 0x1e7c]
lea esi, [ebp + edx*4 + 0x1e7c]
and ecx, 0xf
add ecx, edi
cmp ecx, edi
mov bl, byte [ecx + ebp + 0xe7c]
mov byte [esp + 0x17], bl
jle 0x100d3585
jmp 0x100d3570
mov al, byte [ecx + ebp + 0xe7b]
mov byte [ecx + ebp + 0xe7c], al
sub ecx, 1
cmp ecx, dword [esi]
jg 0x100d3570
add dword [esi], 1
test edx, edx
jle 0x100d35b0
mov eax, esi
mov edi, edi
add dword [eax], 0xffffffff
mov ecx, dword [eax - 4]
mov esi, dword [eax]
mov cl, byte [ecx + ebp + 0xe8b]
sub edx, 1
sub eax, 4
test edx, edx
mov byte [esi + ebp + 0xe7c], cl
jg 0x100d3590
add dword [ebp + 0x1e7c], 0xffffffff
mov eax, dword [ebp + 0x1e7c]
mov byte [eax + ebp + 0xe7c], bl
cmp dword [ebp + 0x1e7c], 0
jne 0x100d365d
mov ecx, 0xfff
mov edi, 0xf
lea esi, [ebp + 0x1eb8]
mov eax, 0xf
jmp 0x100d35f0
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe7c]
mov byte [ecx + ebp + 0xe7c], dl
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe7b]
mov byte [ecx + ebp + 0xe7b], dl
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe7a]
mov byte [ecx + ebp + 0xe7a], dl
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe79]
mov byte [ecx + ebp + 0xe79], dl
sub eax, 4
sub ecx, 4
test eax, eax
jge 0x100d35f0
lea eax, [ecx + 1]
mov dword [esi], eax
sub edi, 1
sub esi, 4
test edi, edi
jge 0x100d35e1
mov bl, byte [esp + 0x17]
movzx ecx, bl
movzx edx, byte [ecx + ebp + 0xd7c]
add dword [ebp + edx*4 + 0x40], 1
cmp byte [ebp + 0x28], 0
lea eax, [ecx + ebp + 0xd7c]
lea ecx, [ebp + edx*4 + 0x40]
mov edx, dword [esp + 0x1c]
je 0x100d3692
movzx ax, byte [eax]
mov ecx, dword [ebp + 0xc50]
mov word [ecx + edx*2], ax
jmp 0x100d369e
movzx eax, byte [eax]
mov ecx, dword [ebp + 0xc4c]
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x40]
add dword [esp + 0x1c], 1
test ecx, ecx
jne 0x100d3701
mov eax, dword [esp + 0x64]
add eax, 1
cmp eax, dword [esp + 0x44]
mov dword [esp + 0x64], eax
jge 0x100d3c1a
movzx eax, byte [eax + ebp + 0x1ebc]
mov edx, dword [ebp + eax*4 + 0xf9fc]
mov dword [esp + 0x68], eax
imul eax, eax, 0x408
add eax, ebp
mov dword [esp + 0x50], edx
lea edx, [eax + 0xb16c]
mov dword [esp + 0x48], edx
lea edx, [eax + 0xe1cc]
add eax, 0xc99c
mov ecx, 0x32
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x50]
sub ecx, 1
mov dword [esp + 0x40], ecx
mov dword [esp + 0x18], eax
mov esi, 1
mov ecx, dword [ebp + 0x20]
cmp ecx, dword [esp + 0x18]
mov dword [ebp + 4], 0x28
jge 0x100d3773
mov edx, 8
or ecx, 0xffffffff
lea ecx, [ecx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d376a
add dword [eax + 0xc], esi
mov eax, dword [esp + 0x18]
cmp dword [ebp + 0x20], eax
jl 0x100d3730
mov edx, dword [ebp + 0x20]
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 0x1c]
sub edx, edi
mov ecx, edx
shr eax, cl
mov ebx, esi
mov ecx, edi
shl ebx, cl
mov dword [ebp + 0x20], edx
sub ebx, esi
and eax, ebx
jmp 0x100d3163
add edi, esi
mov dword [esp + 0x18], edi
jmp case.0x100d1f06.41
mov eax, dword [ebp + 0x34]
test eax, eax
jl 0x100d3c06
cmp eax, dword [esp + 0x1c]
jge 0x100d3c06
xor ebx, ebx
lea eax, [ebp + 0x448]
lea edx, [ebp + 0x444]
lea esi, [ebp + 0x40]
mov ecx, 0x100
mov edi, eax
mov dword [ebp + 0xc], ebx
mov byte [ebp + 8], bl
mov dword [ebp + 0xc60], 0xffffffff
mov dword [ebp + 4], 2
mov dword [edx], ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x100
lea ecx, [ecx]
mov esi, dword [eax - 4]
add dword [eax], esi
add eax, 4
sub ecx, 1
jne 0x100d37f0
cmp byte [ebp + 0x28], 0
je 0x100d3b40
lea edi, [ebp + 0x848]
mov ecx, 0x101
mov esi, edx
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
cmp dword [esp + 0x1c], ebx
jle 0x100d3879
mov edi, edi
mov edx, dword [ebp + 0xc50]
movzx eax, byte [edx + ecx*2]
mov si, word [ebp + eax*4 + 0x848]
lea edx, [edx + ecx*2]
lea eax, [ebp + eax*4 + 0x848]
mov word [edx], si
mov esi, dword [ebp + 0xc54]
mov edx, ecx
sar edx, 1
add esi, edx
test cl, 1
jne 0x100d385a
mov dl, byte [esi]
and dl, 0xf0
or dl, byte [eax + 2]
jmp 0x100d386b
mov edx, dword [eax]
mov ebx, dword [eax]
sar edx, 0xc
xor dl, byte [esi]
sar ebx, 0xc
and dl, 0xf
xor dl, bl
mov byte [esi], dl
add dword [eax], 1
add ecx, 1
cmp ecx, dword [esp + 0x1c]
jl 0x100d3820
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp + 0xc54]
mov ecx, eax
sar ecx, 1
movzx ebx, byte [ecx + edx]
movzx ecx, al
and cl, 1
add cl, cl
add cl, cl
shr ebx, cl
mov ecx, dword [ebp + 0xc50]
movzx edx, word [ecx + eax*2]
and ebx, 0xf
shl ebx, 0x10
mov dword [esp + 0x10], eax
or ebx, edx
jmp 0x100d38b4
mov ebx, dword [esp + 0x20]
mov eax, dword [ebp + 0xc50]
mov ecx, dword [ebp + 0xc54]
lea esi, [eax + ebx*2]
mov edx, ebx
sar edx, 1
movzx eax, byte [ecx + edx]
movzx ecx, bl
and cl, 1
add cl, cl
add cl, cl
shr eax, cl
movzx ecx, word [esi]
and eax, 0xf
shl eax, 0x10
or eax, ecx
test bl, 1
mov cx, word [esp + 0x10]
mov word [esi], cx
mov ecx, dword [ebp + 0xc54]
lea esi, [ecx + edx]
mov ecx, dword [esp + 0x10]
jne 0x100d390a
mov dl, byte [esi]
sar ecx, 0x10
and dl, 0xf0
or cl, dl
mov byte [esi], cl
jmp 0x100d391b
mov edx, ecx
sar edx, 0xc
xor dl, byte [esi]
sar ecx, 0xc
and dl, 0xf
xor dl, cl
mov byte [esi], dl
cmp ebx, dword [ebp + 0x34]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], eax
jne 0x100d38b0
mov edx, dword [ebp + 0x34]
xor ebx, ebx
cmp byte [ebp + 0x10], bl
mov dword [ebp + 0x38], edx
mov dword [ebp + 0x440], ebx
je 0x100d3ad9
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
xor esi, esi
mov ecx, 0x100
mov edi, 1
lea eax, [ecx + esi]
sar eax, 1
cmp edx, dword [ebp + eax*4 + 0x444]
jl 0x100d3963
mov esi, eax
jmp 0x100d3965
mov ecx, eax
mov eax, ecx
sub eax, esi
cmp eax, edi
jne 0x100d3951
mov eax, dword [ebp + 0xc54]
mov ecx, edx
shr ecx, 1
mov dword [ebp + 0x3c], esi
movzx eax, byte [ecx + eax]
movzx ecx, dl
and cl, 1
add cl, cl
add cl, cl
shr eax, cl
mov ecx, dword [ebp + 0xc50]
movzx edx, word [ecx + edx*2]
and eax, 0xf
shl eax, 0x10
or eax, edx
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x440], edi
mov eax, dword [0x1026a448]
mov ecx, edi
cmp ecx, 0x200
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], edi
jne 0x100d39bd
mov dword [ebp + 0x18], ebx
add dword [ebp + 0x14], 0xffffffff
mov eax, dword [ebp + 0x14]
xor edx, edx
cmp eax, edi
sete dl
xor edx, esi
mov dword [ebp + 0x3c], edx
xor ebx, ebx
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x14]
mov dword [ebp + 0xfa14], ecx
mov ecx, dword [esp + 0x20]
mov dword [ebp + 0xfa18], edx
mov edx, dword [esp + 0x48]
mov dword [ebp + 0xfa1c], ecx
mov ecx, dword [esp + 0x50]
mov dword [ebp + 0xfa20], edx
mov edx, dword [esp + 0x38]
mov dword [ebp + 0xfa24], ecx
mov ecx, dword [esp + 0x4c]
mov dword [ebp + 0xfa28], edx
mov edx, dword [esp + 0x58]
mov dword [ebp + 0xfa2c], ecx
mov ecx, dword [esp + 0x34]
mov dword [ebp + 0xfa30], edx
mov edx, dword [esp + 0x40]
mov dword [ebp + 0xfa34], ecx
mov ecx, dword [esp + 0x28]
mov dword [ebp + 0xfa38], edx
mov edx, dword [esp + 0x10]
mov dword [ebp + 0xfa3c], ecx
mov ecx, dword [esp + 0x18]
mov dword [ebp + 0xfa40], edx
mov edx, dword [esp + 0x54]
mov dword [ebp + 0xfa44], ecx
mov ecx, dword [esp + 0x24]
mov dword [ebp + 0xfa48], edx
mov edx, dword [esp + 0x6c]
mov dword [ebp + 0xfa4c], ecx
mov ecx, dword [esp + 0xc]
mov dword [ebp + 0xfa50], edx
mov edx, dword [esp + 0x1c]
mov dword [ebp + 0xfa54], ecx
mov ecx, dword [esp + 0x60]
mov dword [ebp + 0xfa58], edx
mov edx, dword [esp + 0x5c]
mov dword [ebp + 0xfa5c], ecx
mov ecx, dword [esp + 0x44]
mov dword [ebp + 0xfa60], edx
mov edx, dword [esp + 0x3c]
mov dword [ebp + 0xfa64], ecx
mov ecx, dword [esp + 0x30]
mov dword [ebp + 0xfa68], edx
mov edx, dword [esp + 0x2c]
mov dword [ebp + 0xfa6c], ecx
mov ecx, dword [esp + 0x7c]
mov dword [ebp + 0xfa70], edx
pop ebp
xor ecx, esp
call fcn.1018f87e
add esp, 0x7c
ret 4
xor ecx, ecx
mov esi, 0x100
lea eax, [esi + ecx]
sar eax, 1
cmp edx, dword [ebp + eax*4 + 0x444]
jl 0x100d3af2
mov ecx, eax
jmp 0x100d3af4
mov esi, eax
mov eax, esi
sub eax, ecx
cmp eax, 1
jne 0x100d3ae0
mov eax, dword [ebp + 0xc54]
mov dword [ebp + 0x3c], ecx
mov ecx, edx
shr ecx, 1
movzx eax, byte [ecx + eax]
movzx ecx, dl
and cl, 1
add cl, cl
add cl, cl
shr eax, cl
mov ecx, dword [ebp + 0xc50]
movzx edx, word [ecx + edx*2]
and eax, 0xf
shl eax, 0x10
or eax, edx
mov dword [ebp + 0x38], eax
xor ebx, ebx
mov dword [ebp + 0x440], 1
jmp 0x100d39d2
mov esi, dword [esp + 0x1c]
xor edx, edx
cmp esi, ebx
mov dword [esp + 0x10], edx
jle 0x100d3b80
mov edi, edi
mov ecx, dword [ebp + 0xc4c]
movzx eax, byte [ecx + edx*4]
mov edi, dword [ebp + eax*4 + 0x444]
lea eax, [ebp + eax*4 + 0x444]
lea ecx, [ecx + edi*4]
mov edi, edx
shl edi, 8
or dword [ecx], edi
add dword [eax], 1
add edx, 1
cmp edx, esi
jl 0x100d3b50
mov dword [esp + 0x10], edx
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp + 0xc4c]
mov edx, dword [eax + ecx*4]
shr edx, 8
cmp byte [ebp + 0x10], 0
mov dword [ebp + 0x38], edx
mov dword [ebp + 0x440], ebx
mov ecx, edx
je 0x100d3be7
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
mov edx, dword [eax + ecx*4]
movzx eax, dl
mov dword [ebp + 0x38], edx
shr dword [ebp + 0x38], 8
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x440], 1
mov ecx, dword [0x1026a448]
mov dword [ebp + 0x14], ecx
add dword [ebp + 0x14], 0xffffffff
mov eax, dword [ebp + 0x14]
xor edx, edx
cmp eax, 1
sete dl
mov dword [ebp + 0x18], 1
xor dword [ebp + 0x3c], edx
jmp 0x100d39d2
mov edx, dword [eax + ecx*4]
movzx eax, dl
mov dword [ebp + 0x38], edx
shr dword [ebp + 0x38], 8
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x440], 1
jmp 0x100d39d2
mov eax, 0xffffffe0
jmp 0x100d39d4
mov eax, 0xffffffe1
jmp 0x100d39d4
mov eax, 0xfffffff4
jmp 0x100d39d4
mov eax, 0xfffffff3
jmp 0x100d39d4
mov eax, 0xffffffe3
jmp 0x100d39d4
mov eax, 0xffffffe2
jmp 0x100d39d4
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2a
jge 0x100d3c9f
or edx, 0xffffffff
jmp 0x100d3c60
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d3c9a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d3c60
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x72
je case.0x100d1f06.43
mov eax, 0xffffffdf
jmp 0x100d39d4
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2b
jge 0x100d3d1f
or edx, 0xffffffff
jmp 0x100d3ce0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d3d1a
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d3ce0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x45
je case.0x100d1f06.44
mov eax, 0xffffffde
jmp 0x100d39d4
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2c
jge 0x100d3da3
or edx, 0xffffffff
jmp 0x100d3d60
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d3d9e
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d3d60
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x38
je case.0x100d1f06.45
mov eax, 0xffffffdd
jmp 0x100d39d4
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2d
jge 0x100d3e23
or edx, 0xffffffff
jmp 0x100d3de0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d3e1e
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d3de0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x50
je case.0x100d1f06.46
mov eax, 0xffffffdc
jmp 0x100d39d4
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2e
jge 0x100d3ea3
or edx, 0xffffffff
nop
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d3e9e
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d3e60
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x90
je 0x100d3ecb
mov eax, 0xffffffdb
jmp 0x100d39d4
mov dword [ebp + 0xc5c], 0
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2f
jge 0x100d3f33
or edx, 0xffffffff
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d3f2e
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d3ef0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x30
jge 0x100d3fb4
or edx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d3faf
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d3f71
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x31
jge 0x100d4035
or edx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d4030
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d3ff2
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x32
jge 0x100d40b2
or edx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100d39d2
mov ebx, dword [eax]
movzx ebx, byte [ebx]
mov edi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edi, 8
or edi, ebx
mov dword [ebp + 0x1c], edi
add dword [eax], esi
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], esi
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100d40ad
add dword [eax + 0xc], esi
cmp dword [ebp + 0x20], ecx
jl 0x100d4073
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov dword [ebp + 4], esi
mov eax, 4
jmp 0x100d39d4