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

Disassembly:
mov eax, 0x17f0
call fcn.100c1e30
mov eax, dword [esp + 0x17f4]
push ebx
push ebp
push esi
test eax, eax
push edi
mov dword [esp + 0x14], 0
je 0x100c7387
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x100c7387
mov ecx, dword [esp + 0x1808]
test ecx, ecx
je 0x100c7387
mov ebx, dword [esp + 0x180c]
test ebx, ebx
je 0x100c7387
mov ebp, dword [ecx]
test ebp, ebp
je 0x100c7387
mov edi, dword [ecx + 4]
test edi, edi
jbe 0x100c7387
mov esi, dword [ebx]
test esi, esi
je 0x100c7387
mov ecx, dword [ebx + 4]
test ecx, ecx
jbe 0x100c7387
mov edx, dword [esp + 0x1810]
test edx, edx
je 0x100c63a8
cmp edx, dword [eax + 0xc]
jle 0x100c63b2
mov edx, dword [eax + 0xc]
mov dword [esp + 0x1810], edx
cmp dword [eax + 8], edx
jg 0x100c7368
mov ebx, dword [eax + 0x74]
test ebx, ebx
jbe 0x100c63cb
cmp dword [eax + 0x58], edx
jg 0x100c7361
add edi, ebp
lea edx, [ecx + esi]
mov dword [esp + 0x44], edi
mov edi, dword [eax + 0x3c]
mov ecx, eax
mov dword [esp + 0x18], ebp
sub ecx, edi
mov edi, 1
sub ecx, 0x114
mov dword [esp + 0x28], eax
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x64]
test ecx, ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], 0
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], edx
jbe 0x100c644e
cmp dword [eax + 0x68], 0xffffffff
mov dword [esp + 0x94], ecx
je 0x100c6447
mov dword [esp + 0xb4], ebp
add ebp, ecx
mov dword [esp + 0x18], ebp
jmp 0x100c6465
mov ecx, dword [eax + 0x5c]
add ecx, ebp
jmp 0x100c645e
xor ecx, ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0xb4], ecx
test ebx, ebx
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb8], edi
mov dword [esp + 0xa4], 0
jbe 0x100c64d8
mov ecx, dword [eax + 0x70]
add ecx, esi
sub edx, ecx
cmp edx, ebx
jge 0x100c6497
mov dword [esp + 0x14], 0x82010407
jmp 0x100c64d8
mov eax, ebx
sub eax, 2
je 0x100c64cd
sub eax, 2
je 0x100c64c2
sub eax, 4
je 0x100c64b3
mov dl, byte [esp + 0x1810]
mov byte [ecx], dl
jmp 0x100c64d8
mov eax, dword [esp + 0x1810]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x100c64d8
mov eax, dword [esp + 0x1810]
mov dword [ecx], eax
jmp 0x100c64d8
mov dx, word [esp + 0x1810]
mov word [ecx], dx
mov eax, dword [esp + 0x14]
test eax, 0x80000000
je 0x100c6504
mov edx, dword [esp + 0x180c]
xor ecx, ecx
pop edi
pop esi
mov dword [edx + 4], ecx
mov edx, dword [esp + 0x1800]
pop ebp
pop ebx
mov dword [edx + 4], ecx
add esp, 0x17f0
ret
xor eax, eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x84], eax
mov dword [esp + 0x1c], eax
mov esi, edi
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x100c6700
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1c], 0
mov edi, dword [ecx + 0x14]
test edi, edi
jbe 0x100c667d
mov ebx, dword [ecx + 0x30]
mov eax, ebp
sub eax, ebx
cdq
mov ebx, eax
mov eax, edi
sub eax, 2
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], edx
je 0x100c6671
sub eax, 2
je 0x100c6647
sub eax, 4
je 0x100c656f
mov eax, dword [ecx + 0x34]
mov byte [eax], bl
jmp 0x100c667d
mov edi, edx
mov ecx, 0x10
mov eax, ebx
xor esi, esi
and edi, 0xff0000
call fcn.100c1f50
or esi, eax
or edi, edx
mov ecx, 0x10
mov eax, esi
mov edx, edi
call fcn.100c1f50
mov esi, dword [esp + 0x64]
xor ecx, ecx
mov edi, esi
or eax, ecx
and edi, 0xff00
mov ecx, 0x10
or edx, edi
call fcn.100c1f50
mov edi, esi
xor ecx, ecx
and edi, 0xff
or eax, ecx
or edx, edi
mov ecx, 8
call fcn.100c1f50
mov edi, eax
mov ecx, 0x10
mov dword [esp + 0x24], edi
mov edi, edx
mov eax, ebx
mov edx, esi
call fcn.100c1f70
xor ecx, ecx
and ebx, 0xff00
or edx, ecx
or eax, ebx
mov ecx, 0x10
call fcn.100c1f70
mov ecx, dword [esp + 0x60]
xor esi, esi
and ecx, 0xff0000
or edx, esi
or eax, ecx
mov ecx, 0x10
call fcn.100c1f70
mov ecx, dword [esp + 0x60]
or edx, esi
and ecx, 0xff000000
or eax, ecx
mov ecx, 8
call fcn.100c1f70
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
or esi, eax
or edi, edx
mov edx, dword [ecx + 0x34]
mov dword [edx], esi
mov esi, dword [esp + 0x34]
mov dword [edx + 4], edi
mov edi, dword [esp + 0x28]
jmp 0x100c6681
mov eax, ebx
mov edx, ebx
and eax, 0xff0000
shr edx, 0x10
or eax, edx
mov edx, ebx
shl edx, 0x10
and ebx, 0xff00
or edx, ebx
shr eax, 8
shl edx, 8
or eax, edx
mov edx, dword [ecx + 0x34]
mov dword [edx], eax
jmp 0x100c667d
mov edx, dword [ecx + 0x34]
xor eax, eax
mov al, bh
mov ah, bl
mov word [edx], ax
mov edi, dword [esp + 0x28]
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x100c66be
cmp ebp, dword [esp + 0x44]
ja 0x100c7299
mov eax, dword [ecx + 0x14]
test eax, eax
jbe 0x100c66be
mov eax, dword [ecx + 0x18]
test eax, eax
jge 0x100c66b1
mov eax, dword [ecx + 0x18]
mov dword [ecx + 0x34], ebp
sub ebp, eax
mov dword [esp + 0x18], ebp
mov dword [ecx + 0x30], ebp
jmp 0x100c66be
mov edx, dword [ecx + 0x18]
mov eax, ebp
add eax, edx
mov dword [ecx + 0x30], ebp
mov dword [ecx + 0x34], eax
cmp esi, 1
jle 0x100c6708
mov eax, dword [ecx + 4]
test byte [eax + 0x44], 4
je 0x100c66e6
mov edx, dword [eax + 0x18]
mov eax, dword [ecx - 0x98]
add eax, edx
mov dword [ecx - 0x98], eax
mov dword [ecx + 0x24], 0
jmp 0x100c6708
mov eax, dword [edi + 0x1c]
mov edx, dword [ecx - 0x98]
add edx, eax
mov dword [ecx - 0x98], edx
mov dword [ecx + 0x24], 0
jmp 0x100c6708
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0xc]
test eax, eax
jg 0x100c676a
sub ecx, 0xbc
dec esi
test esi, esi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], esi
jle 0x100c72cb
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
mov edx, dword [eax + 0x10]
test edx, edx
je 0x100c674c
mov edi, dword [ecx + 0x10]
inc edi
mov dword [ecx + 0x10], edi
mov edx, edi
cmp edx, dword [eax + 0x2c]
jl 0x100c728b
mov dword [ecx + 0x10], 0
mov edx, dword [ecx + 0xc]
dec edx
mov dword [ecx + 0xc], edx
mov edx, dword [eax + 0x1c]
mov eax, dword [ecx + 0x28]
add eax, edx
mov dword [ecx + 0x28], eax
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x1c], eax
jmp 0x100c728b
mov edx, dword [ecx + 0x10]
lea eax, [edx + edx*4]
lea eax, [eax + eax*8]
mov ebx, dword [edi + eax*4 + 0xbc]
lea esi, [edi + eax*4 + 0xb8]
mov eax, dword [esp + 0x1810]
mov dword [esp + 0x2c], esi
cmp ebx, eax
jle 0x100c67b1
mov eax, dword [edi + 0x10]
test eax, eax
je 0x100c67be
lea eax, [edx + 1]
mov edx, dword [edi + 0x2c]
mov dword [ecx + 0x10], eax
cmp eax, edx
jl 0x100c728b
mov dword [ecx + 0x10], 0
jmp 0x100c67be
test byte [esi + 0x44], 2
je 0x100c67dc
mov eax, dword [edi + 0x10]
test eax, eax
jne 0x100c6797
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x28]
dec edx
mov dword [ecx + 0xc], edx
mov edx, dword [edi + 0x1c]
add eax, edx
mov dword [ecx + 0x28], eax
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x1c], eax
jmp 0x100c728b
mov eax, dword [esi + 0x58]
test eax, eax
jbe 0x100c682d
mov edx, dword [esi + 0x5c]
mov ebx, dword [ecx + 0x28]
add edx, ebx
sub eax, 2
je 0x100c681f
sub eax, 2
je 0x100c6814
sub eax, 4
je 0x100c6807
xor eax, eax
mov al, byte [edx]
cdq
mov dword [esp + 0x54], edx
mov ebx, eax
jmp 0x100c6830
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x54], edx
mov ebx, eax
jmp 0x100c6830
mov eax, dword [edx]
cdq
mov dword [esp + 0x54], edx
mov ebx, eax
jmp 0x100c6830
xor eax, eax
mov ax, word [edx]
cdq
mov dword [esp + 0x54], edx
mov ebx, eax
jmp 0x100c6830
mov ebx, dword [esi + 0x24]
test ebx, ebx
mov dword [esp + 0x40], ebx
jl 0x100c72bd
mov eax, dword [esi + 0x24]
cmp eax, ebx
jge 0x100c684b
test eax, eax
jg 0x100c72bd
test ebx, ebx
jg 0x100c687d
mov eax, dword [edi + 0x10]
test eax, eax
jne 0x100c6874
mov esi, dword [ecx + 0xc]
mov eax, dword [edi + 0x1c]
mov edx, dword [ecx + 0x28]
dec esi
add edx, eax
mov dword [ecx + 0xc], esi
mov dword [ecx + 0x28], edx
mov ecx, dword [ecx + 0x38]
mov dword [esp + 0x1c], ecx
jmp 0x100c728b
mov eax, dword [ecx + 0x10]
inc eax
jmp 0x100c679a
mov eax, dword [ecx + 0x28]
mov edx, dword [esi + 0x2c]
add edx, eax
mov al, byte [esi + 0x44]
test al, 4
mov dword [esp + 0x10], edx
je 0x100c68b7
mov eax, dword [esi + 8]
mov edx, dword [edx]
cmp eax, 1
mov dword [esp + 0x10], edx
jle 0x100c68a5
mov eax, dword [esi + 0x14]
add eax, edx
jmp 0x100c68ba
mov eax, dword [esi + 0x78]
mov edi, dword [esp + 0x5c]
mov eax, dword [eax + edi + 0x130]
add eax, edx
jmp 0x100c68ba
mov eax, dword [ecx + 0x2c]
mov edi, dword [esi + 8]
mov dword [esp + 0x38], eax
cmp edi, 1
jle 0x100c6f9e
sub edi, 0x15
je 0x100c6cf9
dec edi
je 0x100c6ad3
mov ecx, dword [esi + 0x18]
imul ecx, ebx
add ecx, edx
cmp ecx, eax
jbe 0x100c68f3
mov dword [esp + 0x14], 0x82010407
jmp 0x100c6efc
mov esi, dword [esi + 0x1c]
mov ecx, dword [esp + 0x44]
mov eax, esi
imul eax, ebx
add eax, ebp
cmp eax, ecx
ja 0x100c6ef4
dec esi
je 0x100c6a82
dec esi
je 0x100c6a5d
sub esi, 2
je 0x100c6a1f
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ebx
mov esi, dword [ecx + 4]
mov eax, dword [ecx]
mov ebx, esi
mov ecx, 0x10
mov edx, esi
mov dword [esp + 0x78], eax
xor edi, edi
and ebx, 0xff0000
call fcn.100c1f50
or edi, eax
or ebx, edx
mov ecx, 0x10
mov eax, edi
mov edx, ebx
call fcn.100c1f50
mov edi, esi
xor ecx, ecx
and edi, 0xff00
or eax, ecx
or edx, edi
mov ecx, 0x10
call fcn.100c1f50
mov edi, esi
xor ecx, ecx
and edi, 0xff
or eax, ecx
or edx, edi
mov ecx, 8
call fcn.100c1f50
mov edi, dword [esp + 0x78]
mov ebx, eax
mov dword [esp + 0x38], ebx
mov ebx, edx
mov ecx, 0x10
mov eax, edi
mov edx, esi
call fcn.100c1f70
xor ecx, ecx
and edi, 0xff00
or edx, ecx
or eax, edi
mov ecx, 0x10
call fcn.100c1f70
mov ecx, dword [esp + 0x78]
xor esi, esi
and ecx, 0xff0000
or edx, esi
or eax, ecx
mov ecx, 0x10
call fcn.100c1f70
mov ecx, dword [esp + 0x78]
or edx, esi
and ecx, 0xff000000
or eax, ecx
mov ecx, 8
call fcn.100c1f70
mov ecx, dword [esp + 0x38]
or ebx, edx
or ecx, eax
mov eax, dword [esp + 0x24]
mov dword [ebp], ecx
mov ecx, dword [esp + 0x10]
mov dword [ebp + 4], ebx
add ebp, 8
add ecx, 8
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], eax
jne 0x100c6928
mov dword [esp + 0x18], ebp
jmp 0x100c6efc
mov eax, dword [edx]
add ebp, 4
mov ecx, eax
mov esi, eax
and ecx, 0xff0000
add edx, 4
shr esi, 0x10
or ecx, esi
mov esi, eax
shl esi, 0x10
and eax, 0xff00
or esi, eax
shr ecx, 8
shl esi, 8
or ecx, esi
dec ebx
mov dword [ebp - 4], ecx
jne 0x100c6a1f
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ebp
jmp 0x100c6efc
mov esi, ebx
mov ax, word [edx]
xor ecx, ecx
mov cl, ah
add ebp, 2
mov ch, al
add edx, 2
mov word [ebp - 2], cx
dec esi
jne 0x100c6a5f
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ebp
jmp 0x100c6efc
cmp ebx, 0x40
jg 0x100c6aae
test ebx, ebx
jbe 0x100c6efc
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov dl, byte [eax]
mov byte [ebp], dl
inc ebp
inc eax
dec ecx
jne 0x100c6a97
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ebp
jmp 0x100c6efc
mov ecx, ebx
mov esi, edx
mov eax, ecx
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
add edx, ebx
and ecx, 3
add ebp, ebx
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ebp
jmp 0x100c6efc
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 0x20]
test eax, eax
jne 0x100c6af0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
sub eax, ecx
mov esi, dword [esp + 0x10]
mov edi, eax
push edi
push esi
mov dword [esp + 0x28], eax
call fcn.100cad60
lea ebx, [eax + eax + 2]
add esp, 8
cmp ebx, edi
mov dword [esp + 0x50], ebx
jg 0x100c6eea
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x50]
mov edx, dword [esp + 0x44]
sub edx, ebp
lea ecx, [eax + ebx]
cmp edx, ecx
jl 0x100c6ef4
sub eax, 2
je 0x100c6c7b
sub eax, 2
je 0x100c6c50
sub eax, 4
je 0x100c6b4b
mov byte [ebp], bl
jmp 0x100c6c85
mov eax, ebx
mov ecx, 0x10
cdq
mov edi, eax
mov eax, ebx
and eax, 0xff00
mov esi, edx
cdq
mov ebp, eax
mov eax, edi
mov dword [esp + 0x3c], ebp
mov ebp, edx
mov edx, esi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], esi
call fcn.100c1f70
mov edi, dword [esp + 0x3c]
or ebp, edx
or edi, eax
mov ecx, 0x10
mov eax, edi
mov edx, ebp
call fcn.100c1f70
mov edi, eax
mov eax, ebx
and eax, 0xff0000
mov ebp, edx
cdq
or edi, eax
or ebp, edx
mov ecx, 0x10
mov eax, edi
mov edx, ebp
call fcn.100c1f70
mov edi, dword [esp + 0x68]
xor ebx, ebx
mov ecx, edi
or edx, ebx
and ecx, 0xff000000
or eax, ecx
mov ecx, 8
call fcn.100c1f70
mov ebx, eax
mov ecx, 0x10
mov dword [esp + 0x3c], ebx
mov ebx, edx
mov dword [esp + 0x58], ebx
mov ebx, esi
mov eax, edi
mov edx, esi
xor ebp, ebp
and ebx, 0xff0000
call fcn.100c1f50
or ebp, eax
or ebx, edx
mov ecx, 0x10
mov eax, ebp
mov edx, ebx
call fcn.100c1f50
mov edi, esi
xor ecx, ecx
and edi, 0xff00
or eax, ecx
or edx, edi
mov ecx, 0x10
call fcn.100c1f50
xor ecx, ecx
and esi, 0xff
or eax, ecx
or edx, esi
mov ecx, 8
call fcn.100c1f50
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
or ecx, eax
mov eax, dword [esp + 0x58]
or eax, edx
mov dword [ebp], ecx
mov dword [ebp + 4], eax
mov ebx, dword [esp + 0x50]
jmp 0x100c6c85
mov ecx, ebx
mov edx, ebx
and ecx, 0xff0000
mov eax, ebx
shr edx, 0x10
or ecx, edx
mov edx, ebx
shl eax, 0x10
and edx, 0xff00
or eax, edx
shr ecx, 8
shl eax, 8
or ecx, eax
mov dword [ebp], ecx
jmp 0x100c6c85
xor eax, eax
mov al, bh
mov ah, bl
mov word [ebp], ax
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x50]
add ebp, edx
cmp ebx, 0x40
mov dword [esp + 0x18], ebp
ja 0x100c6cad
test ebx, ebx
jbe 0x100c6cd7
mov eax, ebx
mov dl, byte [esi]
mov byte [ebp], dl
inc ebp
inc esi
dec eax
jne 0x100c6c9d
mov dword [esp + 0x18], ebp
jmp 0x100c6cd7
mov eax, dword [esp + 0x10]
mov ecx, ebx
mov edx, ecx
mov esi, eax
mov edi, ebp
add eax, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x10], eax
and ecx, 3
add ebp, ebx
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebp
mov esi, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x40]
sub edi, ebx
add esi, edi
inc eax
cmp eax, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], eax
jl 0x100c6adb
jmp 0x100c6efc
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x20]
test edx, edx
jne 0x100c6d16
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
sub edx, eax
mov edi, dword [esp + 0x10]
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x24], edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, edx
jge 0x100c6eea
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x44]
inc ebx
sub esi, ebp
mov eax, dword [ecx + 0x50]
mov dword [esp + 0x3c], ebx
lea ecx, [eax + ebx]
cmp esi, ecx
jl 0x100c6ef4
sub eax, 2
je 0x100c6e9a
sub eax, 2
je 0x100c6e6f
sub eax, 4
je 0x100c6d6e
mov byte [ebp], bl
jmp 0x100c6ea4
mov eax, ebx
mov ecx, 0x10
cdq
mov edi, eax
mov eax, ebx
and eax, 0xff00
mov esi, edx
cdq
mov ebp, eax
mov eax, edi
mov dword [esp + 0x50], ebp
mov ebp, edx
mov edx, esi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], esi
call fcn.100c1f70
mov edi, dword [esp + 0x50]
or ebp, edx
or edi, eax
mov ecx, 0x10
mov eax, edi
mov edx, ebp
call fcn.100c1f70
mov edi, eax
mov eax, ebx
and eax, 0xff0000
mov ebp, edx
cdq
or edi, eax
or ebp, edx
mov ecx, 0x10
mov eax, edi
mov edx, ebp
call fcn.100c1f70
mov edi, dword [esp + 0x70]
xor ebx, ebx
mov ecx, edi
or edx, ebx
and ecx, 0xff000000
or eax, ecx
mov ecx, 8
call fcn.100c1f70
mov ebx, eax
mov ecx, 0x10
mov dword [esp + 0x50], ebx
mov ebx, edx
mov dword [esp + 0x58], ebx
mov ebx, esi
mov eax, edi
mov edx, esi
xor ebp, ebp
and ebx, 0xff0000
call fcn.100c1f50
or ebp, eax
or ebx, edx
mov ecx, 0x10
mov eax, ebp
mov edx, ebx
call fcn.100c1f50
mov edi, esi
xor ecx, ecx
and edi, 0xff00
or eax, ecx
or edx, edi
mov ecx, 0x10
call fcn.100c1f50
xor ecx, ecx
and esi, 0xff
or eax, ecx
or edx, esi
mov ecx, 8
call fcn.100c1f50
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x3c]
or ecx, eax
mov eax, dword [esp + 0x58]
mov dword [ebp], ecx
or eax, edx
mov edx, dword [esp + 0x24]
mov dword [ebp + 4], eax
jmp 0x100c6ea4
mov ecx, ebx
mov eax, ebx
and ecx, 0xff0000
mov esi, ebx
shr eax, 0x10
or ecx, eax
mov eax, ebx
shl eax, 0x10
and esi, 0xff00
or eax, esi
shr ecx, 8
shl eax, 8
or ecx, eax
mov dword [ebp], ecx
jmp 0x100c6ea4
xor ecx, ecx
mov cl, bh
mov ch, bl
mov word [ebp], cx
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x10]
mov ecx, dword [eax + 0x50]
add ebp, ecx
mov ecx, ebx
mov eax, ecx
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x20]
and ecx, 3
add ebp, ebx
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
add esi, edx
inc eax
cmp eax, ecx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x20], eax
jl 0x100c6d01
jmp 0x100c6efc
mov dword [esp + 0x14], 0x82010406
jmp 0x100c6efc
mov dword [esp + 0x14], 0x82010402
mov eax, dword [esp + 0x2c]
test byte [eax + 0x44], 4
je 0x100c6f14
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x30]
shl ecx, 1
mov dword [edx + 0x24], ecx
jmp 0x100c6f22
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
sub eax, dword [ecx + 0x28]
mov dword [ecx + 0x24], eax
test dword [esp + 0x14], 0x80000000
jne 0x100c72cb
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x10]
test eax, eax
mov eax, dword [esp + 0x30]
jne 0x100c6f5d
mov esi, dword [eax + 0xc]
mov ecx, dword [ecx + 0x1c]
mov edx, dword [eax + 0x28]
dec esi
add edx, ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x28], edx
mov edx, dword [eax + 0x38]
mov dword [esp + 0x1c], edx
jmp 0x100c728b
mov esi, dword [eax + 0x10]
mov edx, dword [ecx + 0x2c]
inc esi
mov dword [eax + 0x10], esi
mov eax, esi
cmp eax, edx
jl 0x100c728b
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov edx, dword [eax + 0xc]
mov dword [eax + 0x10], 0
dec edx
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x1c]
mov ecx, dword [eax + 0x28]
add ecx, edx
mov dword [eax + 0x28], ecx
mov eax, dword [eax + 0x38]
mov dword [esp + 0x1c], eax
jmp 0x100c728b
cmp dword [esp + 0x34], 0x20
jge 0x100c72a3
test edi, edi
jne 0x100c712e
mov eax, dword [esi + 0x68]
mov ebx, dword [ecx + 0x28]
mov edx, dword [esi + 0x64]
add eax, ebx
sub edx, 2
je 0x100c6fe4
sub edx, 2
je 0x100c6fe0
sub edx, 4
je 0x100c6fd1
xor edx, edx
mov dl, byte [eax]
jmp 0x100c6fe9
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], eax
jmp 0x100c6ff6
mov eax, dword [eax]
jmp 0x100c6feb
xor edx, edx
mov dx, word [eax]
mov eax, edx
cdq
mov edi, eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], edi
mov eax, dword [esi + 0x78]
mov edx, dword [esp + 0x5c]
mov ebx, dword [eax + edx + 0x248]
lea esi, [eax + edx + 0x114]
xor eax, eax
mov dword [esp + 0x28], esi
mov edx, dword [esi + 0x138]
cmp edx, ebx
setg al
dec eax
mov dword [esp + 0x20], eax
mov eax, edi
sub eax, edx
js 0x100c7051
cmp eax, dword [esi + 0x2c]
jge 0x100c7051
lea edx, [eax + eax*4]
lea edx, [edx + edx*8]
mov ebx, dword [esi + edx*4 + 0x138]
lea edx, [esi + edx*4]
cmp ebx, edi
jne 0x100c7051
cmp ebx, dword [edx + 0x134]
jg 0x100c7051
mov dword [esp + 0x20], eax
jmp 0x100c70d2
mov edx, dword [esi + 0x2c]
cmp edx, 0x10
jge 0x100c7080
xor ebx, ebx
test edx, edx
jle 0x100c70d2
lea eax, [esi + 0x134]
cmp dword [eax + 4], edi
jg 0x100c706e
cmp edi, dword [eax]
jle 0x100c707a
inc ebx
add eax, 0xb4
cmp ebx, edx
jl 0x100c7065
jmp 0x100c70d2
mov dword [esp + 0x20], ebx
jmp 0x100c70d2
lea eax, [edx - 1]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x24], eax
jl 0x100c70d2
mov eax, dword [esp + 0x24]
lea edx, [eax + ebx]
sar edx, 1
lea eax, [edx + edx*4]
lea eax, [eax + eax*8]
mov edi, dword [esi + eax*4 + 0x138]
lea eax, [esi + eax*4]
mov eax, dword [eax + 0x134]
cmp edi, eax
jg 0x100c70c3
cmp dword [esp + 0x48], edi
jge 0x100c70bd
dec edx
mov dword [esp + 0x24], edx
jmp 0x100c70c6
cmp dword [esp + 0x48], eax
jle 0x100c70ce
lea ebx, [edx + 1]
cmp ebx, dword [esp + 0x24]
jle 0x100c708d
jmp 0x100c70d2
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x100c70f7
mov edi, dword [esp + 0x1810]
lea edx, [eax + eax*4]
lea edx, [edx + edx*8]
mov edx, dword [esi + edx*4 + 0xbc]
cmp edx, edi
jg 0x100c70f7
test esi, esi
jne 0x100c714c
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
mov edx, dword [eax + 0x10]
test edx, edx
jne 0x100c7122
mov esi, dword [ecx + 0xc]
mov eax, dword [eax + 0x1c]
mov edx, dword [ecx + 0x28]
dec esi
add edx, eax
mov dword [ecx + 0xc], esi
mov dword [ecx + 0x28], edx
mov ecx, dword [ecx + 0x38]
mov dword [esp + 0x1c], ecx
jmp 0x100c728b
mov edx, dword [ecx + 0x10]
inc edx
mov dword [ecx + 0x10], edx
jmp 0x100c673c
mov edx, dword [esi + 0x78]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x20], 0
lea esi, [edx + eax + 0x114]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], esi
mov edx, dword [esp + 0x1810]
mov edi, dword [esi + 0x58]
cmp edi, edx
jg 0x100c72b3
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x10]
add ecx, 0xbc
inc edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x64]
xor edx, edx
cmp eax, edx
mov dword [ecx + 0x24], edx
mov dword [ecx], esi
mov dword [ecx + 0xc], edi
mov dword [ecx + 0x28], ebx
mov dword [ecx + 0x30], ebp
jbe 0x100c71c6
mov edx, dword [esi + 0x68]
mov dword [ecx + 0x14], eax
cmp edx, 0xffffffff
je 0x100c71b4
mov edi, dword [esp + 0x2c]
mov edx, eax
mov dword [ecx + 0x34], ebp
neg edx
add ebp, eax
mov dword [ecx + 0x18], edx
mov dword [esp + 0x18], ebp
jmp 0x100c7212
mov eax, dword [esi + 0x5c]
mov edi, dword [esp + 0x2c]
mov dword [ecx + 0x18], eax
lea edx, [eax + ebp]
mov dword [ecx + 0x34], edx
jmp 0x100c7212
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 0x50]
cmp eax, edx
jbe 0x100c720f
mov edx, dword [edi + 0x54]
mov dword [ecx + 0x14], eax
cmp edx, 0xffffffff
je 0x100c71ec
mov dword [ecx + 0x34], ebp
add ebp, eax
neg eax
mov dword [esp + 0x18], ebp
mov dword [ecx + 0x18], eax
jmp 0x100c7212
mov eax, dword [edi + 0x48]
mov edx, dword [edi + 0x28]
cmp eax, edx
jl 0x100c7202
sub eax, edx
mov dword [ecx + 0x18], eax
add eax, ebp
mov dword [ecx + 0x34], eax
jmp 0x100c7212
mov edx, dword [ecx - 0x8c]
add edx, eax
mov dword [ecx + 0x34], edx
jmp 0x100c7212
mov dword [ecx + 0x14], edx
mov eax, dword [esi + 0x74]
mov edx, dword [esp + 0x38]
test eax, eax
mov dword [ecx + 0x30], ebp
mov dword [ecx + 0x2c], edx
mov dword [ecx + 4], edi
mov dword [ecx + 0x38], 1
jbe 0x100c7281
mov esi, dword [esi + 0x70]
add esi, ebx
sub edx, esi
cmp edx, eax
jge 0x100c7242
mov dword [esp + 0x14], 0x82010407
jmp 0x100c7281
sub eax, 2
je 0x100c7276
sub eax, 2
je 0x100c726b
sub eax, 4
je 0x100c725c
mov al, byte [esp + 0x1810]
mov byte [esi], al
jmp 0x100c7281
mov eax, dword [esp + 0x1810]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x100c7281
mov ecx, dword [esp + 0x1810]
mov dword [esi], ecx
jmp 0x100c7281
mov dx, word [esp + 0x1810]
mov word [esi], dx
test dword [esp + 0x14], 0x80000000
jne 0x100c72cb
mov esi, dword [esp + 0x34]
test esi, esi
jg 0x100c6517
jmp 0x100c72cb
mov dword [esp + 0x14], 0x82010402
jmp 0x100c72cb
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x14], 0x82010404
mov dword [ecx + 0x24], eax
jmp 0x100c72cb
mov dword [esp + 0x14], 0x82010401
jmp 0x100c72cb
mov edx, dword [esi + 0x2c]
mov dword [esp + 0x14], 0x82010403
mov dword [ecx + 0x24], edx
mov esi, dword [esp + 0x180c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0xa4]
test edi, 0x80000000
mov dword [esi + 4], eax
je 0x100c7348
mov edx, dword [esp + 0x34]
mov eax, 1
cmp edx, eax
jle 0x100c7348
lea ecx, [esp + 0x160]
mov ebx, dword [ecx - 0x20]
test byte [ebx + 0x44], 4
jne 0x100c732e
mov ebx, dword [ecx]
add ecx, 0xbc
add dword [esi + 4], ebx
inc eax
cmp eax, edx
jl 0x100c72fc
mov eax, dword [esp + 0x1808]
sub ebp, dword [eax]
mov dword [eax + 4], ebp
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x17f0
ret
lea ecx, [eax + eax*2]
shl ecx, 4
sub ecx, eax
mov edx, dword [esp + ecx*4 + 0x84]
mov ecx, dword [esi + 4]
mov eax, dword [edx + 0x18]
add ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [esp + 0x1808]
sub ebp, dword [eax]
mov dword [eax + 4], ebp
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x17f0
ret
mov ebx, dword [esp + 0x180c]
mov ecx, dword [esp + 0x1808]
xor eax, eax
pop edi
mov dword [ebx + 4], eax
pop esi
mov dword [ecx + 4], eax
pop ebp
mov eax, 0x82010401
pop ebx
add esp, 0x17f0
ret
pop edi
pop esi
pop ebp
mov eax, 0x82010468
pop ebx
add esp, 0x17f0
ret