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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 0x3c]
push ebx
mov dword [ebp - 4], ebx
call fcn.100df042
pop ecx
test eax, eax
js 0x100de2ea
mov eax, dword [esi + 0x40]
mov dword [eax + 4], 1
xor eax, eax
cmp dword [esi + 0x34], 0x30335056
mov dword [ebx], esi
setne al
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 0x78]
add eax, 0xf
and eax, 0xfffffff0
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0x7c]
add eax, 0xf
and eax, 0xfffffff0
mov dword [ebx + 0x14], eax
cmp dword [esi + 0x30], 0x1f
je 0x100ddd48
and dword [esi + 0x8c], 0
mov eax, dword [esi + 0x58]
or eax, 0x800000
mov dword [esi + 0x190], 2
push edi
push eax
lea eax, [ebx + 0xc8]
push eax
call fcn.100cfb8b
lea eax, [ebx + 0x198]
push 8
push eax
call fcn.100d87a4
push dword [esi + 0x58]
lea eax, [ebx + 0x1a0]
push eax
call fcn.100e1cc7
mov ecx, 0x1014c5a8
mov edi, ebx
mov eax, ebx
add esp, 0x18
xor edx, edx
sub edi, ecx
sub eax, ecx
mov esi, eax
mov cl, dl
mov eax, edx
and cl, 7
sar eax, 3
shl cl, 3
or cl, al
mov byte [edx + edi + 0x1014c5f0], cl
mov cl, byte [edx + 0x1014c5a8]
mov al, cl
shr cl, 3
and al, 7
shl al, 3
or al, cl
mov byte [edx + esi + 0x1014c630], al
inc edx
cmp edx, 0x40
jl 0x100ddd99
mov esi, dword [ebp + 8]
lea edi, [ebx + 0x24c]
or eax, 0xffffffff
lea ecx, [ebx + 0x1c]
stosd dword es:[edi], eax
push ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebx + 0x18]
push eax
push dword [esi + 0x8c]
call fcn.100d04d6
mov esi, dword [ebx + 0x10]
add esp, 0xc
lea eax, [esi + 0x1f]
cdq
and edx, 0x1f
lea ecx, [edx + eax]
sar ecx, 5
mov dword [ebx + 0x26c], ecx
mov ebx, dword [ebx + 0x14]
lea eax, [ebx + 0x1f]
cdq
and edx, 0x1f
lea edi, [edx + eax]
mov edx, dword [ebp - 4]
sar edi, 5
mov eax, esi
mov dword [edx + 0x270], edi
imul edi, ecx
mov ecx, dword [edx + 0x18]
sar eax, cl
mov ecx, dword [ebp - 4]
add eax, 0x1f
mov dword [edx + 0x274], edi
cdq
and edx, 0x1f
lea esi, [edx + eax]
mov eax, ebx
sar esi, 5
mov dword [ecx + 0x278], esi
mov ecx, dword [ecx + 0x1c]
sar eax, cl
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
mov edx, dword [ebp - 4]
sar eax, 5
mov dword [edx + 0x27c], eax
imul eax, esi
mov dword [edx + 0x284], edi
mov dword [edx + 0x280], eax
lea ecx, [edi + eax*2]
add eax, edi
mov edi, edx
mov dword [edx + 0x268], ecx
mov esi, dword [edi + 0x10]
mov dword [edi + 0x288], eax
lea eax, [esi + 0xf]
cdq
and edx, 0xf
lea ecx, [edx + eax]
lea eax, [ebx + 0xf]
sar ecx, 4
cdq
and edx, 0xf
mov dword [edi + 0x294], ecx
add eax, edx
sar eax, 4
mov dword [edi + 0x298], eax
imul eax, ecx
mov dword [edi + 0x290], eax
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [edi + 0x2a0], eax
mov eax, dword [edi + 0x14]
cdq
and edx, 7
add eax, edx
mov edx, dword [edi + 0x2a0]
sar eax, 3
mov dword [edi + 0x2a8], eax
mov eax, edx
mov ecx, dword [edi + 0x18]
mov esi, dword [edi + 0x2a8]
sar eax, cl
mov dword [edi + 0x2a4], eax
mov eax, esi
mov ecx, dword [edi + 0x1c]
sar eax, cl
mov ecx, dword [edi + 0x2a4]
imul esi, edx
xor edx, edx
imul ecx, eax
mov dword [edi + 0x2ac], eax
push 4
lea eax, [esi + ecx*2]
mov dword [edi + 0x29c], eax
lea eax, [ecx + esi]
mov dword [edi + 0x2b8], esi
mov dword [edi + 0x2bc], eax
pop esi
cmp dword [edi + 8], edx
jne 0x100de0fa
lea eax, [edi + 0x354]
mov dword [ebp - 0x10], 0x40
mov dword [ebp - 8], eax
lea ecx, [edi + 0x494]
lea eax, [edi + 0x2d4]
mov ebx, 0x1015fb90
mov dword [ebp - 0xc], eax
mov edi, 0x1015fa90
mov esi, dword [ebp - 0xc]
lea edx, [edx + 2]
mov ax, word [edx + 0x1015fa0e]
add dword [ebp - 0xc], 2
push 4
mov word [esi], ax
mov esi, dword [ebp - 8]
mov eax, dword [edi]
mov dword [esi], eax
mov al, byte [edx + 0x1015f88e]
mov byte [ecx - 0x40], al
mov al, byte [edx + 0x1015f90e]
mov byte [ecx], al
mov al, byte [edx + 0x1015f98e]
mov byte [ecx + 0x40], al
mov al, byte [ebx]
pop esi
add dword [ebp - 8], esi
add edi, esi
mov byte [ecx + 0xc8b8], al
inc ecx
inc ebx
dec dword [ebp - 0x10]
jne 0x100ddf5b
mov edi, dword [ebp - 4]
xor edx, edx
lea eax, [edi + 0x645a]
lea esi, [edi + 0x6454]
lea ecx, [edi + 0x65da]
mov edi, eax
xor eax, eax
xor ebx, ebx
test edx, edx
sete al
mov dword [ebp - 0x10], eax
xor eax, eax
mov byte [esi + ebx], 1
test ebx, ebx
mov byte [edi], 0x3f
setne al
add edi, 0x40
imul eax, dword [ebp - 0x10]
inc ebx
lea eax, [eax + edx*2]
mov word [ecx + 2], ax
mov word [ecx], ax
sub ecx, 0xffffff80
cmp ebx, 3
jl 0x100ddfcc
inc edx
add esi, 3
cmp edx, 2
jl 0x100ddfc0
mov eax, dword [ebp - 4]
add eax, 0x6ff0
xor ebx, ebx
push 4
pop esi
mov edi, eax
push 0
push 0
push 0
push 0
push 2
push esi
lea ecx, [ebx + 0x10160a0a]
lea eax, [ecx - 2]
push eax
push 2
push esi
push ecx
push 0x20
lea eax, [edi - 0x100]
push 0xb
push eax
call fcn.100c0ad0
xor eax, eax
push eax
push eax
push eax
push eax
push 2
push esi
lea eax, [ebx + 0x10161208]
push eax
push 2
push esi
lea eax, [ebx + 0x1016120a]
push eax
push 0x20
push 0xb
push edi
call fcn.100c0ad0
add esp, 0x68
xor eax, eax
push eax
push eax
push eax
push eax
push 2
push esi
lea eax, [ebx + 0x10161a08]
push eax
push 2
push esi
lea eax, [ebx + 0x10161a0a]
push eax
push 0x20
lea eax, [edi + 0x100]
push 0xb
push eax
call fcn.100c0ad0
xor eax, eax
push eax
push eax
push eax
push eax
push 2
push esi
lea eax, [ebx + 0x10162208]
push eax
push 2
push esi
lea eax, [ebx + 0x1016220a]
push eax
push 0x20
lea eax, [edi + 0x200]
push 0xb
push eax
call fcn.100c0ad0
add esp, 0x68
xor eax, eax
push eax
push eax
push eax
push eax
push 2
push esi
lea eax, [ebx + 0x10162a08]
push eax
push 2
push esi
lea eax, [ebx + 0x10162a0a]
push eax
push 0x20
lea eax, [edi + 0x300]
push 0xb
push eax
call fcn.100c0ad0
sub ebx, 0xffffff80
add esp, 0x34
add edi, 0x10
cmp ebx, 0x800
jl 0x100de00c
mov edi, dword [ebp - 4]
jmp 0x100de22e
lea ecx, [edi + 0x6ff0]
mov dword [ebp - 0x10], edx
mov dword [ebp - 4], ecx
lea ebx, [edi + 0x7d50]
push edx
push edx
push edx
push edx
push esi
push 8
lea eax, [ebx - 4]
push eax
push esi
push 8
push ebx
push 0x20
lea eax, [ecx - 0x100]
push 0xb
push eax
call fcn.100c0ad0
add esp, 0x34
test eax, eax
js 0x100de2d4
xor eax, eax
push eax
push eax
push eax
push eax
push esi
push 8
lea eax, [ebx + 0xffc]
push eax
push esi
push 8
lea eax, [ebx + 0x1000]
push eax
push 0x20
push 0xb
push dword [ebp - 4]
call fcn.100c0ad0
add esp, 0x34
test eax, eax
js 0x100de2d4
xor eax, eax
push eax
push eax
push eax
push eax
push esi
push 8
lea eax, [ebx + 0x1ffc]
push eax
push esi
push 8
lea eax, [ebx + 0x2000]
push eax
mov eax, dword [ebp - 4]
push 0x20
add eax, 0x100
push 0xb
push eax
call fcn.100c0ad0
add esp, 0x34
test eax, eax
js 0x100de2d4
xor eax, eax
push eax
push eax
push eax
push eax
push esi
push 8
lea eax, [ebx + 0x2ffc]
push eax
push esi
push 8
lea eax, [ebx + 0x3000]
push eax
mov eax, dword [ebp - 4]
push 0x20
add eax, 0x200
push 0xb
push eax
call fcn.100c0ad0
add esp, 0x34
test eax, eax
js 0x100de2d4
xor eax, eax
push eax
push eax
push eax
push eax
push esi
push 8
lea eax, [ebx + 0x3ffc]
push eax
push esi
push 8
lea eax, [ebx + 0x4000]
push eax
mov eax, dword [ebp - 4]
push 0x20
add eax, 0x300
push 0xb
push eax
call fcn.100c0ad0
add esp, 0x34
test eax, eax
js 0x100de2d4
mov eax, dword [ebp - 0x10]
add ebx, 0x100
mov ecx, dword [ebp - 4]
inc eax
add ecx, 0x10
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], ecx
push 0
pop edx
cmp eax, 0x10
jl 0x100de10c
xor ebx, ebx
lea eax, [edi + 0x73f0]
push ebx
push ebx
push ebx
push ebx
push 2
push esi
push 0x1015fbd0
push 2
push esi
push 0x1015fbd2
push 0x22
push 6
push eax
call fcn.100c0ad0
push ebx
push ebx
push ebx
push ebx
push 2
push esi
push 0x1015fc58
push 2
push esi
push 0x1015fc5a
push 0x1e
lea eax, [edi + 0x7400]
push 5
push eax
call fcn.100c0ad0
add esp, 0x68
lea eax, [edi + 0x7410]
push ebx
push ebx
push ebx
push ebx
push 1
push 2
pop esi
push esi
push 0x1015fcd0
push 1
push esi
push 0x1015fcd1
push 8
push 3
push eax
call fcn.100c0ad0
push ebx
push ebx
push ebx
push ebx
push 1
push esi
push 0x1015fce0
push 1
push esi
push 0x1015fce1
push 0x3f
lea eax, [edi + 0x7420]
push 6
push eax
call fcn.100c0ad0
add esp, 0x68
push dword [ebp + 8]
call fcn.100dea4b
pop ecx
jmp 0x100de2e9
push str.Invalid_huffman_table_n
push 8
push dword [ebp + 8]
call fcn.1010c4f6
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret