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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xe4
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [ecx + 0xc]
lea edx, [ecx + 0x70]
add esi, dword [ecx + 4]
push edi
mov edi, dword [ebp + 0x18]
push dword [ebp + 0x1c]
mov dword [esp + 0x30], eax
push ecx
lea ebx, [eax + edi]
mov dword [esp + 0x20], edx
lea eax, [ebx - 8]
mov dword [esp + 0x48], ebx
mov dword [esp + 0xa8], eax
call fcn.100df2e0
mov dword [esp + 0x98], eax
mov ecx, 0xfff
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
movaps xmmword [esp + 0xc8], xmm0
movups xmmword [esp + 0xac], xmm0
push edi
mov eax, dword [eax + 0xcc]
cmp eax, ecx
push 0
cmovb ecx, eax
mov dword [esp + 0xac], 0
xor eax, eax
mov dword [esp + 0xa8], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0xfc], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
cmp dword [ecx + 0xc8], 3
setne al
add eax, 3
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x9c], eax
mov eax, dword [edx + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x48], eax
mov eax, dword [ecx + 0xd4]
test eax, eax
mov ecx, 0x1028b2dc
cmovne ecx, eax
mov eax, dword [ecx + 0x10]
movups xmm0, xmmword [ecx]
mov dword [esp + 0xf0], eax
lea eax, [esp + 0xe0]
push eax
movups xmmword [esp + 0xe4], xmm0
call fcn.100de8b0
push 0
push edi
push dword [ebp + 0x14]
mov edi, dword [esp + 0x38]
push edi
call fcn.100dea80
xor ecx, ecx
lea eax, [ebx - 8]
add esp, 0x24
cmp dword [ebp + 0x14], esi
sete cl
add ecx, dword [ebp + 0x14]
mov dword [esp + 0x30], ecx
cmp ecx, eax
jae 0x100dcb5f
push dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
mov ebx, ecx
sub ebx, dword [esp + 0x30]
mov eax, 0
mov dword [esp + 0x4c], ebx
sete al
push eax
push dword [ebp + 0x10]
lea eax, [esp + 0x98]
push dword [esp + 0x4c]
push ecx
push eax
push dword [ebp + 8]
push esi
call dword [esp + 0xb0]
mov edx, dword [esp + 0x50]
sub edx, dword [ebp + 0x14]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x50]
push eax
push edx
lea eax, [esp + 0x48]
mov dword [esp + 0xbc], edx
push eax
lea eax, [esp + 0xfc]
push esi
push eax
call fcn.100de7b0
mov esi, dword [esp + 0x54]
add esp, 0x34
test esi, esi
jne 0x100dc1d1
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x30], ecx
jmp 0x100dcb4e
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
push 0
push edi
mov eax, dword [edx]
mov dword [ecx + 0x10], eax
mov eax, dword [edx + 4]
mov dword [ecx + 0x14], eax
mov eax, dword [edx + 8]
mov dword [ecx + 0x18], eax
mov dword [ecx + 8], 0
add ecx, 0xc
push ebx
mov dword [esp + 0x30], ecx
mov dword [ecx], ebx
call fcn.100de660
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov dword [ecx], eax
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + esi*8 - 4]
mov ecx, dword [ecx + esi*8 - 8]
cmp eax, dword [esp + 0x98]
jbe 0x100dc242
movaps xmm1, xmmword [esp + 0xc0]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], ecx
jmp 0x100dc86f
push 0
push edi
push 0
call fcn.100de660
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x3c]
add eax, dword [edx]
dec ecx
mov dword [esp + 0x34], eax
lea eax, [edx + 0x1c]
mov dword [eax], 0x40000000
lea eax, [eax + 0x1c]
sub ecx, 1
jne 0x100dc261
mov ecx, dword [esp + 0x3c]
xor eax, eax
mov dword [esp + 0x28], eax
mov ebx, ecx
test esi, esi
je 0x100dc388
mov edi, dword [esp + 0x38]
nop word [eax + eax]
mov ecx, dword [edi + eax*8]
mov eax, dword [edi + eax*8 + 4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], eax
cmp ebx, eax
ja 0x100dc373
lea edi, [ebx*8]
sub edi, ebx
lea esi, [ebx - 3]
inc edi
lea edi, [edx + edi*4]
nop word [eax + eax]
mov eax, dword [esp + 0x18]
bsr ecx, ecx
cmp dword [eax + 0x38], 1
jne 0x100dc2dd
lea eax, [esi + 1]
bsr edx, eax
add edx, 0x10
add edx, ecx
shl edx, 8
jmp 0x100dc33f
mov eax, dword [eax + 0xc]
mov edx, ecx
mov eax, dword [eax + ecx*4]
inc eax
bsr eax, eax
sub edx, eax
mov eax, dword [ebp + 8]
shl edx, 8
add edx, dword [eax + 0xa4]
cmp ecx, 0x14
jb 0x100dc304
lea eax, [ecx - 0x13]
shl eax, 9
add edx, eax
cmp esi, 0x7f
jbe 0x100dc311
bsr ecx, esi
add ecx, 0x24
jmp 0x100dc318
movzx ecx, byte [esi + 0x1028b330]
mov eax, dword [ebp + 8]
add edx, 0x33
mov eax, dword [eax + 0x78]
mov eax, dword [eax + ecx*4]
movzx ecx, byte [ecx + 0x1028b2a4]
inc eax
bsr eax, eax
sub ecx, eax
mov eax, dword [ebp + 8]
shl ecx, 8
add ecx, dword [eax + 0xa0]
add edx, ecx
mov eax, dword [esp + 0x34]
inc esi
mov ecx, dword [esp + 0x4c]
add eax, edx
mov edx, dword [esp + 0x48]
mov dword [edi + 4], ebx
inc ebx
mov dword [edi], ecx
mov dword [edi + 8], edx
mov dword [edi - 4], eax
add edi, 0x1c
cmp ebx, dword [esp + 0x44]
jbe 0x100dc2c0
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, esi
jb 0x100dc290
mov edi, dword [esp + 0x18]
lea esi, [ebx - 1]
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], esi
cmp esi, 1
jb 0x100dc7d9
mov eax, dword [esp + 0x24]
cmp dword [eax - 4], 0
jne 0x100dc3af
mov ebx, dword [eax]
inc ebx
jmp 0x100dc3b4
mov ebx, 1
push 0
lea eax, [ebx - 1]
push edi
push eax
call fcn.100de660
mov ecx, dword [esp + 0x30]
push 0
push dword [esp + 0x28]
mov esi, dword [ecx - 0xc]
mov ecx, dword [ebp + 0x14]
sub esi, eax
mov eax, dword [esp + 0xa8]
dec ecx
add eax, ecx
add eax, dword [esp + 0x34]
push 1
push eax
call fcn.100de9c0
push 0
push dword [esp + 0x38]
add esi, eax
push ebx
call fcn.100de660
mov edx, dword [esp + 0x4c]
add eax, esi
add esp, 0x28
mov edi, dword [edx + 0x10]
cmp eax, edi
jg 0x100dc41c
mov dword [edx + 0x18], 0
mov edi, eax
mov dword [edx + 0x14], 0
mov dword [edx + 0x1c], ebx
mov dword [edx + 0x10], eax
mov eax, dword [edx + 0x18]
test eax, eax
je 0x100dc4b1
mov ecx, dword [esp + 0x20]
xor ebx, ebx
sub ecx, eax
cmp dword [edx + 0x1c], ebx
mov edx, dword [edx + 0x14]
sete bl
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [esp + 0x14]
movq xmm0, qword [ecx + eax*4 + 0x10]
mov ecx, dword [ecx + eax*4 + 0x18]
movq qword [esp + 0x68], xmm0
mov dword [esp + 0x70], ecx
cmp edx, 3
jbe 0x100dc473
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x6c], eax
lea eax, [edx - 3]
mov dword [esp + 0x68], eax
jmp 0x100dc49d
lea eax, [edx - 1]
add eax, ebx
je 0x100dc49d
mov esi, dword [esp + 0x68]
cmp eax, 3
jne 0x100dc488
lea edx, [esi - 1]
jmp 0x100dc491
mov edx, dword [esp + eax*4 + 0x68]
cmp eax, 2
jb 0x100dc495
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x24]
movq xmm0, qword [esp + 0x68]
movq qword [edx + 0x20], xmm0
mov dword [edx + 0x28], ecx
jmp 0x100dc4c1
movq xmm0, qword [edx + 4]
mov eax, dword [edx + 0xc]
movq qword [edx + 0x20], xmm0
mov dword [edx + 0x28], eax
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
add esi, ebx
cmp esi, dword [esp + 0xa0]
ja 0x100dc75d
cmp ebx, dword [esp + 0x1c]
je 0x100dc7d5
lea eax, [edi + 0x80]
cmp dword [edx + 0x2c], eax
jle 0x100dc75d
mov eax, dword [edx + 0x18]
xor ebx, ebx
test eax, eax
setne bl
test eax, eax
jne 0x100dc508
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x28], eax
jmp 0x100dc510
mov dword [esp + 0x28], 0
push 0
push dword [esp + 0x1c]
push 0
call fcn.100de660
push dword [esp + 0x48]
add eax, edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
push ebx
mov ebx, dword [esp + 0x54]
add eax, 0x20
push eax
push ebx
push esi
lea eax, [esp + 0xac]
push eax
push dword [ebp + 8]
push edi
call dword [esp + 0xbc]
mov dword [esp + 0x80], eax
sub ebx, esi
mov eax, dword [esp + 0xc0]
push ebx
mov ebx, dword [esp + 0x50]
add eax, ebx
push eax
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x108]
push edi
push eax
call fcn.100de7b0
mov esi, dword [esp + 0x94]
add esp, 0x40
test esi, esi
je 0x100dc75d
mov ecx, dword [edi + esi*8 - 4]
cmp ecx, dword [esp + 0x98]
ja 0x100dc77e
lea eax, [ecx + ebx]
cmp eax, 0x1000
jae 0x100dc77e
xor edx, edx
mov dword [esp + 0x4c], edx
test esi, esi
je 0x100dc75d
lea eax, [edi - 4]
mov dword [esp + 0x34], eax
mov ecx, dword [eax + 4]
mov edi, dword [eax + 8]
mov dword [esp + 0x48], ecx
test edx, edx
je 0x100dc5d4
mov eax, dword [eax]
inc eax
jmp 0x100dc5d8
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x44], eax
cmp edi, eax
jb 0x100dc745
mov edx, dword [esp + 0x14]
lea esi, [edi + ebx]
lea eax, [edi + 0x1028b32d]
mov dword [esp + 0x50], eax
lea eax, [esi*8]
sub eax, esi
lea ebx, [edx + eax*4]
mov edx, 0xfffffffe
sub edx, dword [esp + 0x20]
mov eax, 0xfffffffd
sub eax, dword [esp + 0x20]
mov dword [esp + 0x64], edx
mov dword [esp + 0x58], eax
nop dword [eax + eax]
mov eax, dword [esp + 0x18]
bsr ecx, ecx
cmp dword [eax + 0x38], 1
jne 0x100dc63d
lea eax, [edx + esi]
bsr eax, eax
add eax, 0x10
add eax, ecx
shl eax, 8
jmp 0x100dc6a2
mov eax, dword [eax + 0xc]
mov edx, ecx
mov eax, dword [eax + ecx*4]
inc eax
bsr eax, eax
sub edx, eax
mov eax, dword [esp + 0x18]
shl edx, 8
add edx, dword [eax + 0x34]
cmp ecx, 0x14
jb 0x100dc662
lea eax, [ecx - 0x13]
shl eax, 9
add edx, eax
mov eax, dword [esp + 0x58]
add eax, esi
cmp eax, 0x7f
jbe 0x100dc675
bsr ecx, eax
add ecx, 0x24
jmp 0x100dc67c
mov eax, dword [esp + 0x50]
movzx ecx, byte [eax]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*4]
movzx ecx, byte [ecx + 0x1028b2a4]
inc eax
bsr eax, eax
sub ecx, eax
mov eax, dword [esp + 0x18]
shl ecx, 8
add ecx, dword [eax + 0x30]
lea eax, [ecx + 0x33]
add eax, edx
mov edx, dword [esp + 0x5c]
add edx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x60], edx
cmp esi, eax
ja 0x100dc6be
cmp edx, dword [ebx]
jge 0x100dc739
jmp 0x100dc6ee
lea ecx, [eax + 1]
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [esp + 0x14]
lea eax, [ecx + eax*4]
mov ecx, esi
sub ecx, dword [esp + 0x1c]
mov dword [esp + 0x1c], esi
nop dword [eax + eax]
mov dword [eax], 0x40000000
lea eax, [eax + 0x1c]
sub ecx, 1
jne 0x100dc6e0
mov ecx, dword [esp + 0x14]
lea eax, [esi*8]
mov edx, dword [esp + 0x14]
sub eax, esi
dec dword [esp + 0x50]
dec esi
sub ebx, 0x1c
mov dword [ecx + eax*4 + 8], edi
dec edi
mov ecx, dword [esp + 0x48]
mov dword [edx + eax*4 + 4], ecx
mov ecx, dword [esp + 0x28]
mov dword [edx + eax*4 + 0xc], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x60]
mov dword [ecx + eax*4], edx
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x64]
cmp edi, dword [esp + 0x44]
jae 0x100dc620
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x34]
inc edx
add eax, 8
mov dword [esp + 0x4c], edx
mov dword [esp + 0x34], eax
cmp edx, esi
jb 0x100dc5c1
mov eax, dword [esp + 0x24]
inc ebx
mov esi, dword [esp + 0x1c]
add eax, 0x1c
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
cmp ebx, esi
ja 0x100dc7d9
mov edi, dword [esp + 0x18]
jmp 0x100dc3a4
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov dword [esp + 0xb0], eax
lea eax, [ebx*8]
sub eax, ebx
mov dword [esp + 0xac], ecx
mov ecx, dword [edi + esi*8 - 8]
mov dword [esp + 0xa8], ecx
cmp dword [edx + eax*4 + 8], 0
jne 0x100dc7b5
mov eax, dword [edx + eax*4 + 0xc]
jmp 0x100dc7b7
xor eax, eax
movaps xmm1, xmmword [esp + 0xc0]
sub ebx, eax
mov edi, dword [esp + 0x18]
xor edx, edx
cmp ebx, 0x1000
cmovbe edx, ebx
jmp 0x100dc871
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
lea eax, [esi*8]
sub eax, esi
sub esp, 0x1c
movups xmm0, xmmword [ecx + eax*4]
lea edx, [ecx + eax*4]
mov ecx, esp
movq xmm1, qword [edx + 0x10]
mov eax, dword [edx + 0x18]
movups xmmword [esp + 0xc0], xmm0
mov dword [esp + 0xb8], eax
movups xmm0, xmmword [edx]
movaps xmmword [esp + 0xdc], xmm1
movups xmmword [ecx], xmm0
movq xmm0, xmm1
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
call fcn.100df490
add esp, 0x1c
cmp esi, eax
jbe 0x100dc864
movups xmm0, xmmword [edx]
mov eax, dword [edx + 0x18]
sub esp, 0x1c
mov ecx, esp
movups xmmword [ecx], xmm0
movq xmm0, xmm1
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
call fcn.100df490
mov edx, dword [esp + 0x38]
add esp, 0x1c
mov ecx, dword [esp + 0xa8]
sub edx, eax
mov edi, dword [esp + 0x18]
jmp 0x100dc871
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x1c], edx
mov esi, dword [esp + 0x14]
lea eax, [edx*8]
sub eax, edx
cmp dword [esp + 0xac], 0
movq xmm0, qword [esi + eax*4 + 0x10]
lea eax, [esi + eax*4]
je 0x100dc90d
mov edx, dword [eax + 0x18]
movq qword [esp + 0x78], xmm0
mov dword [esp + 0x80], edx
cmp ecx, 3
jbe 0x100dc8bf
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x7c], eax
lea eax, [ecx - 3]
mov dword [esp + 0x78], eax
jmp 0x100dc8f7
xor eax, eax
cmp dword [esp + 0xb0], eax
sete al
dec eax
add eax, ecx
je 0x100dc8f7
mov esi, dword [esp + 0x78]
cmp eax, 3
jne 0x100dc8de
lea ecx, [esi - 1]
jmp 0x100dc8e7
mov ecx, dword [esp + eax*4 + 0x78]
cmp eax, 2
jb 0x100dc8eb
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x78], ecx
mov eax, dword [ebp + 0x10]
movq xmm0, qword [esp + 0x78]
movq qword [eax], xmm0
mov dword [eax + 8], edx
mov edx, dword [esp + 0x1c]
jmp 0x100dc91a
mov ecx, dword [ebp + 0x10]
movq qword [ecx], xmm0
mov eax, dword [eax + 0x18]
mov dword [ecx + 8], eax
movups xmm0, xmmword [esp + 0xa4]
lea ecx, [edx + 1]
lea eax, [ecx*8]
mov dword [esp + 0x24], ecx
sub eax, ecx
mov ebx, ecx
lea esi, [esi + eax*4]
mov eax, dword [esp + 0x9c]
movups xmmword [esi], xmm0
movq qword [esi + 0x10], xmm1
mov dword [esi + 0x18], eax
test edx, edx
je 0x100dc9bc
nop dword [eax]
mov ecx, dword [esp + 0x14]
lea eax, [edx*8]
sub eax, edx
sub esp, 0x1c
movups xmm0, xmmword [ecx + eax*4]
lea edx, [ecx + eax*4]
mov ecx, esp
mov eax, dword [edx + 0x18]
movups xmmword [ecx], xmm0
movq xmm0, qword [edx + 0x10]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
call fcn.100df490
movups xmm0, xmmword [edx]
lea esi, [esi - 0x1c]
mov ecx, eax
add esp, 0x1c
dec ebx
movups xmmword [esi], xmm0
movq xmm0, qword [edx + 0x10]
movq qword [esi + 0x10], xmm0
mov eax, dword [edx + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x18], eax
cmp edx, ecx
jbe 0x100dc9b0
sub edx, ecx
mov dword [esp + 0x1c], edx
jne 0x100dc950
mov ecx, dword [esp + 0x24]
cmp ebx, ecx
ja 0x100dcb3f
mov edx, dword [esp + 0x14]
lea edi, [ebx*8]
sub edi, ebx
add edx, 8
sub ecx, ebx
inc ecx
mov dword [esp + 0x24], ecx
lea edi, [edx + edi*4]
mov dword [esp + 0x28], edi
nop word [eax + eax]
mov esi, dword [edi + 4]
mov eax, dword [edi]
mov edx, dword [edi - 4]
mov dword [esp + 0x34], esi
mov dword [esp + 0x5c], eax
lea ebx, [eax + esi]
mov dword [esp + 0x60], edx
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x2c]
add ebx, esi
mov dword [esp + 0x30], ebx
test eax, eax
je 0x100dcb27
push eax
push edx
push dword [esp + 0x34]
push esi
push dword [esp + 0x28]
call fcn.100df4a0
mov ebx, dword [ebp + 0xc]
add esp, 0x14
mov ecx, dword [esp + 0x40]
add ebx, 0xc
mov edx, dword [esp + 0x30]
add ecx, 0xffffffe0
mov eax, dword [ebx]
cmp edx, ecx
ja 0x100dcaa9
push dword [esp + 0x2c]
push eax
call fcn.100ddcd0
add esp, 8
cmp esi, 0x10
jbe 0x100dcab8
mov edi, dword [esp + 0x2c]
lea edx, [esi - 0x10]
mov esi, dword [ebx]
add edi, 0x10
add esi, 0x10
push edi
push esi
lea eax, [esi + edx]
mov dword [esp + 0x6c], eax
call fcn.100ddcd0
add esp, 8
cmp edx, 0x10
jle 0x100dca9f
mov edx, dword [esp + 0x64]
add esi, 0x10
add edi, 0x10
push edi
push esi
call fcn.100ddcd0
add edi, 0x10
add esi, 0x10
push edi
push esi
call fcn.100ddcd0
add esi, 0x10
add esp, 0x10
add edi, 0x10
cmp esi, edx
jb 0x100dca78
mov ebx, dword [ebp + 0xc]
add ebx, 0xc
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
jmp 0x100dcab8
push ecx
push edx
push dword [esp + 0x34]
push eax
call fcn.100df1f0
add esp, 0x10
add dword [ebx], esi
mov edx, dword [ebp + 0xc]
cmp esi, 0xffff
jbe 0x100dcad7
mov eax, dword [edx + 4]
sub eax, dword [edx]
sar eax, 3
mov dword [edx + 0x24], 1
mov dword [edx + 0x28], eax
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x60]
mov word [eax + 4], si
mov eax, dword [edx + 4]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
add ecx, 0xfffffffd
cmp ecx, 0xffff
jbe 0x100dcb08
mov eax, dword [edx + 4]
sub eax, dword [edx]
sar eax, 3
mov dword [edx + 0x24], 2
mov dword [edx + 0x28], eax
mov eax, dword [edx + 4]
mov word [eax + 6], cx
mov eax, dword [esp + 0x2c]
add dword [edx + 4], 8
add eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
add edi, 0x1c
sub ecx, 1
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ecx
jne 0x100dc9e0
mov edi, dword [esp + 0x18]
push 0
push edi
call fcn.100df3b0
mov ecx, dword [esp + 0x38]
add esp, 8
cmp ecx, dword [esp + 0xa0]
jb 0x100dc153
mov ebx, dword [esp + 0x40]
sub ebx, dword [esp + 0x2c]
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret