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

Disassembly:
sub esp, 0x74
mov eax, dword [esp + 0x84]
push ebx
push ebp
push esi
mov eax, dword [eax]
mov esi, dword [esp + 0x84]
push edi
push esi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x3c], eax
call fcn.1008c6d0
mov dword [esp + 0x4c], eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x64], eax
xor ebx, ebx
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x24], ebx
mov eax, dword [eax]
mov dword [esp + 0x84], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x1c]
push eax
push edi
push 7
push edi
push 0xc
push dword [esp + 0xbc]
call fcn.1008e8e0
add esp, 0x1c
mov ebp, eax
mov dword [esp + 0x1c], ebp
cmp dword [esp + 0x18], ebx
jne 0x100daccc
push 2
push esi
call fcn.1008cdb0
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dacb9
lea eax, [esp + 0x18]
push eax
push esi
call fcn.1008cc30
add esp, 8
movzx eax, ax
mov dword [esp + 0x5c], eax
cmp dword [esp + 0x18], ebx
jne 0x100daccc
lea eax, [esp + 0x18]
push eax
push esi
call fcn.1008cc30
add esp, 8
movzx eax, ax
mov dword [esp + 0x68], eax
cmp dword [esp + 0x18], ebx
jne 0x100daccc
lea eax, [esp + 0x18]
push eax
push esi
call fcn.1008cc30
add esp, 8
movzx eax, ax
mov dword [esp + 0x58], eax
cmp dword [esp + 0x18], ebx
jne 0x100daccc
mov edx, dword [esp + 0xa0]
xor ecx, ecx
mov eax, dword [esp + 0x68]
mov word [edx + 4], ax
movzx eax, ax
mov dword [esp + 0x30], eax
inc eax
cmp word [esp + 0x58], cx
setne cl
lea ecx, [ecx*2 + 2]
imul ecx, eax
mov eax, dword [edx + 0x10]
cmp dword [eax + 8], ecx
jne 0x100dacc0
mov eax, dword [edx + 0xc]
mov dword [esp + 0x54], 0x24
cmp dword [eax + 0xc], 0x24
jb 0x100dacc0
mov dword [esp + 0x50], ebx
add ebp, 8
nop dword [eax]
lea eax, [esp + 0x18]
push eax
push esi
call fcn.1008ca90
add esp, 8
mov dword [esp + 0x64], eax
cmp dword [esp + 0x18], ebx
jne 0x100dacc8
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x54]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
sub ecx, edx
cmp eax, ecx
ja 0x100dacc0
mov eax, dword [esp + 0x48]
add eax, edx
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov eax, dword [esp + 0x64]
add edx, eax
mov dword [ebp], eax
add ebp, 0xc
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
cmp eax, 7
jb 0x100da350
test byte [esp + 0x5c], 1
mov ebp, dword [esp + 0x30]
je 0x100da3e3
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0xc]
lea eax, [ebp + 7]
sub ecx, edx
shr eax, 3
cmp eax, ecx
ja 0x100dacb5
mov eax, dword [esp + 0x48]
add eax, edx
mov dword [esp + 0x60], eax
lea eax, [esp + 0x18]
push eax
push 0
lea eax, [ebp + 1]
push eax
push 0
push 4
push dword [esp + 0xb8]
call fcn.1008e8e0
mov ebp, dword [esp + 0x34]
add esp, 0x18
mov dword [esp + 0x28], eax
cmp dword [esp + 0x18], ebx
jne 0x100daccc
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x18]
mov edx, dword [ebp + 0x40]
push eax
push 0
lea ecx, [ecx + 0x1f]
mov dword [esp + 0x74], edx
push 0x1400
shr ecx, 3
push 0
and ecx, 0x1ffffffc
mov dword [esp + 0x3c], 0x1400
push 1
push dword [esp + 0xb8]
add ecx, edx
mov dword [ebp + 0x40], ecx
call fcn.1008e8e0
add esp, 0x18
mov dword [esp + 0x20], eax
cmp dword [esp + 0x18], ebx
jne 0x100daccc
lea eax, [esp + 0x18]
push eax
push 0
push dword [esp + 0x38]
push 0
push 2
push dword [esp + 0xb8]
call fcn.1008e8e0
mov ecx, dword [esp + 0xb8]
add esp, 0x18
mov dword [ecx + 8], eax
cmp dword [esp + 0x18], ebx
jne 0x100daccc
xor ebx, ebx
mov dword [esp + 0x48], ebx
cmp dword [esp + 0x30], ebx
jbe 0x100dad2e
xor eax, eax
mov edi, ebx
mov dword [esp + 0x44], eax
xor ebp, ebp
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x6c]
shr edi, 3
add eax, edi
push eax
push esi
call fcn.1008cd70
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dacb1
lea eax, [esp + 0x18]
push eax
push esi
call fcn.1008c7e0
add esp, 8
cmp dword [esp + 0x18], ebp
jne 0x100dacb1
mov ecx, ebx
movzx eax, al
and ecx, 7
mov ebx, 0x80
sar ebx, cl
mov ecx, dword [esp + 0x1c]
and eax, ebx
mov dword [esp + 0x3c], eax
push dword [ecx + 4]
push esi
call fcn.1008cd70
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dacb1
lea eax, [esp + 0x18]
push eax
push esi
call fcn.1008cc30
add esp, 8
movzx ecx, ax
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x18], ebp
jne 0x100dacb1
mov eax, dword [esp + 0x1c]
add dword [eax + 4], 2
mov eax, 0xffff
cmp cx, ax
jne 0x100da7cd
xor edi, edi
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x1c]
xor bl, bl
mov byte [esp + 0x12], bl
mov dword [esp + 0x5c], edi
cmp dword [esp + 0x3c], edi
je 0x100dad18
mov ecx, dword [ebp + 0x34]
xor al, al
push ecx
push esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x6c], ecx
mov byte [esp + 0x1b], al
call fcn.1008cd70
add esp, 8
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x100dad18
lea eax, [esp + 0x3c]
push eax
push esi
call fcn.1008cc30
movzx ebx, ax
add esp, 8
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x100da61b
mov eax, ebx
shr eax, 8
and al, 1
or byte [esp + 0x13], al
mov eax, ebx
and eax, 1
lea eax, [eax*2 + 4]
test bl, 8
je 0x100da5d0
add eax, 2
jmp 0x100da5e1
test bl, 0x40
je 0x100da5da
add eax, 4
jmp 0x100da5e1
test bl, bl
jns 0x100da5e1
add eax, 8
push eax
push esi
call fcn.1008cdb0
add esp, 8
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x100da61b
test bl, 0x20
jne 0x100da596
push esi
call fcn.1008c6d0
mov edi, eax
add esp, 4
mov al, byte [esp + 0x13]
sub edi, dword [esp + 0x64]
mov bl, al
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x5c], edi
jmp 0x100da61f
mov bl, byte [esp + 0x12]
test eax, eax
jne 0x100dad18
test bl, bl
je 0x100da669
push dword [ebp + 0x28]
push esi
call fcn.1008cd70
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dad18
lea eax, [esp + 0x50]
push eax
push esi
call fcn.100d7f40
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dad18
push esi
call fcn.1008c6d0
add esp, 4
mov dword [ebp + 0x28], eax
mov eax, dword [esp + 0x50]
add edi, 0xc
movzx ebx, ax
mov eax, dword [esp + 0x2c]
add edi, ebx
cmp eax, edi
jae 0x100da6af
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x24]
push ecx
push edi
push eax
push 1
push dword [esp + 0xb8]
call fcn.1008e8e0
add esp, 0x18
mov dword [esp + 0x20], eax
cmp dword [esp + 0x18], 0
jne 0x100dad18
mov dword [esp + 0x2c], edi
jmp 0x100da6b3
mov eax, dword [esp + 0x20]
mov word [eax], 0xffff
push dword [ebp + 0x40]
push esi
call fcn.1008cd70
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dad18
lea eax, [esp + 0x18]
push eax
push esi
call fcn.1008cc30
add esp, 8
movzx eax, ax
cmp dword [esp + 0x18], 0
mov dword [esp + 0x44], eax
jne 0x100dad18
push dword [ebp + 0x40]
push esi
call fcn.1008cd70
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dad18
mov eax, dword [esp + 0x20]
push 8
add eax, 2
push eax
push esi
call fcn.1008c6e0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dad18
push dword [ebp + 0x34]
add dword [ebp + 0x40], 8
push esi
call fcn.1008cd70
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dad18
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x5c]
add eax, 0xa
push edi
push eax
push esi
call fcn.1008c6e0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dad18
add dword [ebp + 0x34], edi
lea ebp, [edi + 0xa]
cmp byte [esp + 0x12], al
je 0x100da7c6
mov ecx, dword [esp + 0x50]
mov eax, ecx
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
shr eax, 8
mov byte [edx + ebp], al
mov byte [edx + ebp + 1], cl
add ebp, 2
push dword [edi + 0x4c]
push esi
call fcn.1008cd70
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dacb1
mov eax, dword [esp + 0x20]
push ebx
add eax, ebp
push eax
push esi
call fcn.1008c6e0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dacb1
add dword [edi + 0x4c], ebx
add ebp, ebx
xor ebx, ebx
jmp 0x100dabfc
test cx, cx
je 0x100dabf0
mov eax, dword [esp + 0x60]
xor ebp, ebp
mov dword [esp + 0x64], ebp
mov byte [esp + 0x54], 0
test eax, eax
je 0x100da830
add eax, edi
push eax
push esi
call fcn.1008cd70
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dacb1
lea eax, [esp + 0x18]
push eax
push esi
call fcn.1008c7e0
add esp, 8
cmp dword [esp + 0x18], ebp
jne 0x100dacb1
test al, bl
mov ecx, 1
movzx eax, byte [esp + 0x54]
cmovne eax, ecx
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x54], al
movzx eax, cx
lea ecx, [esp + 0x18]
push ecx
push 0
push eax
push 0
push 2
push dword [esp + 0xb8]
call fcn.1008e8e0
add esp, 0x18
mov ebx, eax
cmp dword [esp + 0x18], ebp
jne 0x100dacb3
mov ecx, dword [esp + 0x1c]
push dword [ecx + 0x10]
push esi
call fcn.1008cd70
add esp, 8
mov dword [esp + 0x18], eax
xor edi, edi
test eax, eax
jne 0x100dacb5
cmp word [esp + 0x24], di
je 0x100da8c2
nop
lea eax, [esp + 0x14]
push eax
push esi
call fcn.100d7f40
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dacb3
mov ax, word [esp + 0x14]
mov word [ebx + edi*2], ax
movzx eax, ax
add eax, ebp
cmp eax, ebp
jb 0x100dacb3
mov ecx, dword [esp + 0x24]
mov ebp, eax
inc edi
movzx eax, cx
mov dword [esp + 0x64], ebp
cmp edi, eax
jb 0x100da880
push esi
call fcn.1008c6d0
mov edx, dword [esp + 0x20]
add esp, 4
mov dword [edx + 0x10], eax
cmp ebp, dword [edx + 0x20]
ja 0x100dad1e
mov ecx, dword [esi]
mov eax, dword [edx + 0x1c]
add eax, ecx
mov dword [esp + 0x78], ecx
mov ecx, dword [edx + 0x24]
mov dword [esp + 0x7c], eax
mov eax, dword [edx + 0x28]
mov edx, dword [edx + 0x2c]
mov dword [esp + 0x70], eax
sub eax, ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x74], edx
cmp edx, eax
jb 0x100dacb3
lea eax, [esp + 0x18]
mov dword [esp + 0x5c], 0
push eax
push 0
push ebp
push 0
push 0xc
push dword [esp + 0xb8]
call fcn.1008e8e0
add esp, 0x18
mov edi, eax
cmp dword [esp + 0x18], 0
jne 0x100dacc8
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
push edi
push ebp
push eax
mov eax, dword [esp + 0x88]
add eax, dword [esp + 0x80]
push eax
push dword [esp + 0x90]
call fcn.100dbc10
add esp, 0x18
test eax, eax
jne 0x100dacb5
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
add dword [ecx + 0x28], eax
push dword [ecx + 0x28]
add dword [ecx + 0x1c], ebp
push esi
call fcn.1008cd70
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dacb5
lea eax, [esp + 0x40]
push eax
push esi
call fcn.100d7f40
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dacb5
push esi
call fcn.1008c6d0
mov ecx, dword [esp + 0x20]
add esp, 4
mov dword [ecx + 0x28], eax
cmp ebp, 0x8000000
jae 0x100dacb5
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x24]
movzx eax, cx
add eax, ebp
movzx ecx, dx
lea eax, [eax + ebp*4]
lea eax, [eax + ecx*2]
add eax, 0xc
mov dword [esp + 0x7c], eax
cmp dword [esp + 0x2c], eax
jae 0x100daa31
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x24]
push ecx
push eax
push dword [esp + 0x38]
push 1
push dword [esp + 0xb8]
call fcn.1008e8e0
add esp, 0x18
mov ecx, eax
cmp dword [esp + 0x18], 0
mov dword [esp + 0x20], ecx
jne 0x100dacc8
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
jmp 0x100daa35
mov ecx, dword [esp + 0x20]
mov eax, edx
mov byte [ecx + 1], dl
shr eax, 8
cmp dword [esp + 0x3c], 0
mov byte [ecx], al
je 0x100daabf
mov ebp, dword [esp + 0x1c]
push dword [ebp + 0x40]
push esi
call fcn.1008cd70
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dacb9
lea eax, [esp + 0x18]
push eax
push esi
call fcn.1008cc30
add esp, 8
movzx eax, ax
cmp dword [esp + 0x18], 0
mov dword [esp + 0x44], eax
jne 0x100daccc
push dword [ebp + 0x40]
push esi
call fcn.1008cd70
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dacb9
mov eax, dword [esp + 0x20]
push 8
add eax, 2
push eax
push esi
call fcn.1008c6e0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dacb9
add dword [ebp + 0x40], 8
jmp 0x100daad7
lea eax, [esp + 0x50]
push eax
push ecx
push edi
push ebp
call fcn.100d8320
mov eax, dword [esp + 0x60]
add esp, 0x10
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x20]
xor ebp, ebp
mov esi, dword [esp + 0x88]
add edx, 0xa
or ecx, 0xffffffff
mov dword [esp + 0x3c], 0xa
cmp word [esp + 0x24], bp
je 0x100dab38
mov dword [esp + 0x3c], 0xa
movzx eax, word [ebx + ebp*2]
add ecx, eax
cmp ecx, 0x10000
jge 0x100dacb5
mov esi, dword [esp + 0x24]
mov eax, ecx
add dword [esp + 0x3c], 2
inc ebp
sar eax, 8
mov byte [edx], al
movzx eax, si
mov esi, dword [esp + 0x88]
mov byte [edx + 1], cl
add edx, 2
cmp ebp, eax
jb 0x100dab01
mov ecx, dword [esp + 0x40]
mov eax, ecx
mov ebp, dword [esp + 0x3c]
shr eax, 8
add ebp, 2
mov byte [edx], al
mov eax, dword [esp + 0x1c]
mov byte [edx + 1], cl
push dword [eax + 0x4c]
push esi
call fcn.1008cd70
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dacb5
mov ecx, dword [esp + 0x40]
movzx eax, cx
push eax
mov eax, dword [esp + 0x24]
add eax, ebp
push eax
push esi
call fcn.1008c6e0
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100dacb5
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
movzx ecx, dx
add dword [eax + 0x4c], ecx
lea eax, [ecx + ebp]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x30]
push dword [esp + 0x28]
push dword [esp + 0x60]
push edx
push dword [esp + 0x38]
push edi
push dword [esp + 0x80]
call fcn.100db9b0
add esp, 0x20
test eax, eax
jne 0x100dacb5
mov ebp, dword [esp + 0xa4]
push edi
push ebp
call fcn.1008e770
push ebx
push ebp
call fcn.1008e770
mov ebp, dword [esp + 0x6c]
add esp, 0x10
xor ebx, ebx
jmp 0x100dabfc
xor ebx, ebx
cmp dword [esp + 0x3c], ebx
jne 0x100dacb1
push dword [esp + 0xa4]
mov eax, dword [esp + 0x4c]
mov edi, ebx
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
sub ecx, dword [esp + 0x84]
push ebp
push dword [esp + 0x28]
mov dword [edx + eax*4], ecx
lea eax, [esp + 0x58]
push eax
push dword [esp + 0xa8]
lea eax, [esp + 0x4c]
push eax
call fcn.100df7c0
add esp, 0x18
test eax, eax
jne 0x100dacb5
push dword [esp + 0xa4]
lea eax, [esp + 0x50]
push eax
push dword [esp + 0xa0]
lea eax, [esp + 0x44]
push eax
call fcn.100d93f0
add esp, 0x10
test eax, eax
jne 0x100dacb5
push ebp
push dword [esp + 0x24]
call fcn.100d8280
mov ecx, dword [esp + 0x94]
add esp, 8
mov ebx, dword [esp + 0x48]
add dword [ecx], eax
cmp word [esp + 0x24], 0
jbe 0x100dac95
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax + 8]
mov word [eax + ebx*2], cx
inc ebx
mov dword [esp + 0x48], ebx
cmp ebx, dword [esp + 0x30]
jae 0x100dad24
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x34], eax
jmp 0x100da4a6
xor ebx, ebx
xor edi, edi
mov ebp, dword [esp + 0x1c]
cmp dword [esp + 0x18], 0
jne 0x100daccc
mov dword [esp + 0x18], 8
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x38]
push ebp
mov ebp, dword [esp + 0xa8]
push ebp
mov dword [ecx], eax
call fcn.1008e770
push dword [esp + 0x30]
push ebp
call fcn.1008e770
push ebx
push ebp
call fcn.1008e770
push dword [esp + 0x38]
push ebp
call fcn.1008e770
push edi
push ebp
call fcn.1008e770
mov eax, dword [esp + 0x40]
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret
xor ebx, ebx
xor edi, edi
jmp 0x100dacb9
xor edi, edi
mov ebp, edx
jmp 0x100dacb9
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x34], edx
jmp 0x100dad32
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0xa0]
mov eax, edx
mov esi, dword [esp + 0x28]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x60], edx
mov ecx, dword [ebx + 0xc]
sub eax, dword [ecx + 0x1c]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0x10]
mov dword [eax + 0x1c], edx
mov eax, dword [esp + 0x68]
movzx ecx, ax
mov eax, dword [ebx + 0xc]
xor ebx, ebx
cmp word [esp + 0x58], bx
setne bl
lea edi, [ecx + 1]
mov eax, dword [eax + 8]
mov dword [esi + ecx*4], eax
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0xa4]
lea ebx, [ebx*2 + 2]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x3c]
push eax
imul ebx, edi
push 0
push ebx
push 0
push 1
push esi
mov dword [esp + 0x80], ebx
call fcn.1008e7e0
add esp, 0x18
mov ebp, eax
cmp dword [esp + 0x3c], 0
jne 0x100dae77
xor esi, esi
mov edx, ebp
test edi, edi
je 0x100dae1c
mov ebx, dword [esp + 0x28]
cmp word [esp + 0x58], si
je 0x100dadf8
nop dword [eax]
mov ecx, dword [ebx + esi*4]
lea edx, [edx + 4]
mov eax, ecx
inc esi
shr eax, 0x18
mov byte [edx - 4], al
mov eax, ecx
shr eax, 0x10
mov byte [edx - 3], al
mov eax, ecx
shr eax, 8
mov byte [edx - 2], al
mov byte [edx - 1], cl
cmp esi, edi
jb 0x100dadd0
jmp 0x100dae18
xor esi, esi
nop word [eax + eax]
mov ecx, dword [ebx + esi*4]
lea edx, [edx + 2]
mov eax, ecx
inc esi
shr eax, 9
shr ecx, 1
mov byte [edx - 2], al
mov byte [edx - 1], cl
cmp esi, edi
jb 0x100dae00
mov ebx, dword [esp + 0x68]
push ebx
push ebp
call fcn.100d8280
mov ecx, dword [esp + 0x98]
mov esi, dword [esp + 0xac]
push esi
push ebx
mov dword [ecx], eax
lea eax, [esp + 0x70]
push ebp
push eax
push dword [esp + 0xb0]
lea eax, [esp + 0x80]
push eax
call fcn.100df7c0
add esp, 0x20
test eax, eax
je 0x100dae67
cmp dword [esp + 0x3c], 0
jne 0x100dae77
mov dword [esp + 0x3c], 8
jmp 0x100dae77
mov eax, dword [esp + 0x64]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x34], eax
mov eax, esi
push ebp
push eax
call fcn.1008e770
xor ebx, ebx
add esp, 8
xor edi, edi
cmp dword [esp + 0x3c], ebx
jne 0x100dacb5
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x34]
push dword [esp + 0x1c]
mov ecx, dword [eax + 0x10]
mov eax, edx
push esi
sub eax, dword [ecx + 0x1c]
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x40]
mov dword [ecx], eax
mov eax, dword [esp + 0xa4]
mov dword [eax], edx
call fcn.1008e770
push dword [esp + 0x30]
push esi
call fcn.1008e770
push edi
push esi
call fcn.1008e770
push dword [esp + 0x38]
push esi
call fcn.1008e770
push edi
push esi
call fcn.1008e770
mov eax, dword [esp + 0x40]
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret