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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xec
mov edi, dword [esp + 0x104]
test edi, edi
js 0x1010ef3c
xor ebp, ebp
mov esi, edx
test edi, edi
mov dword [esp + 0x10], ecx
je 0x1010dac1
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1010ef43
mov ebx, eax
mov eax, edi
jmp 0x1010dac8
mov ebx, 1
xor eax, eax
mov ecx, dword [esi]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x4c], 0
mov ebx, dword [esi + 0xc]
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [esp + 0x50], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ebx
mov dword [esp + 8], ebx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x100]
mov byte [esp + 0x64], 0
add edi, ecx
jmp 0x1010db3b
mov dword [esp], eax
mov ebx, dword [esp]
mov eax, esi
mov ebp, ebx
sub ebp, ecx
mov ecx, ebx
add ebp, esi
cmp edx, 0x21
mov esi, ebp
jae 0x1010dbe9
mov esi, ebp
cmp edi, ecx
je 0x1010dbe3
movzx ebx, byte [ecx]
lea eax, [ecx + 1]
movzx edx, bl
test bl, bl
jns 0x1010db20
cmp eax, edi
mov dword [esp + 4], esi
je 0x1010db69
movzx eax, byte [ecx + 1]
lea esi, [ecx + 2]
mov dword [esp], esi
and eax, 0x3f
jmp 0x1010db70
mov dword [esp], eax
mov esi, edi
xor eax, eax
and edx, 0x1f
cmp bl, 0xdf
jbe 0x1010db88
cmp esi, edi
je 0x1010db8d
movzx ebp, byte [esi]
inc esi
mov dword [esp], esi
and ebp, 0x3f
jmp 0x1010db93
shl edx, 6
jmp 0x1010dbd8
mov ebp, edi
mov esi, edi
xor ebp, ebp
shl eax, 6
or eax, ebp
cmp bl, 0xf0
jb 0x1010dbd5
xor ebp, ebp
cmp esi, edi
mov ebx, 0
je 0x1010dbb2
movzx ebx, byte [esi]
inc esi
mov dword [esp], esi
and ebx, 0x3f
and edx, 7
shl eax, 6
mov esi, dword [esp + 4]
shl edx, 0x12
or eax, edx
or eax, ebx
cmp eax, 0x110000
mov edx, eax
jne 0x1010db23
jmp 0x1010e252
shl edx, 0xc
mov esi, dword [esp + 4]
or edx, eax
jmp 0x1010db23
xor ebp, ebp
mov ebx, ecx
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], ebx
jmp 0x1010dc0c
movzx eax, al
cmp eax, 0x21
jae 0x1010dcac
cmp ebx, edi
je 0x1010dcb2
mov ecx, edi
dec edi
movzx eax, byte [ecx - 1]
test al, al
jns 0x1010dc00
cmp edi, ebx
je 0x1010dc69
movzx edx, byte [ecx - 2]
lea edi, [ecx - 2]
mov ah, dl
and ah, 0xc0
cmp ah, 0x80
jne 0x1010dc6d
cmp edi, ebx
je 0x1010dc72
movzx ebx, byte [ecx - 3]
lea edi, [ecx - 3]
mov ah, bl
and ah, 0xc0
cmp ah, 0x80
jne 0x1010dc76
cmp edi, dword [esp]
je 0x1010dc7b
mov dword [esp + 0x40], ebx
movzx ebx, byte [ecx - 4]
lea edi, [ecx - 4]
and ebx, 7
shl ebx, 6
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x40]
jmp 0x1010dc83
xor edx, edx
jmp 0x1010dc95
and edx, 0x1f
jmp 0x1010dc95
xor ebx, ebx
jmp 0x1010dc8a
and ebx, 0xf
jmp 0x1010dc8a
mov dword [esp + 0xc], 0
and ebx, 0x3f
or ebx, dword [esp + 0xc]
shl ebx, 6
and edx, 0x3f
or edx, ebx
mov ebx, dword [esp]
and al, 0x3f
shl edx, 6
movzx eax, al
or eax, edx
cmp eax, 0x110000
jne 0x1010dc03
jmp 0x1010dcb2
sub esi, ebx
add esi, ecx
mov ebp, esi
mov edi, dword [esp + 0x100]
mov ecx, dword [esp + 4]
cmp dword [esp + 8], 0
lea eax, [edi + ecx]
mov dword [esp + 0xc], eax
je 0x1010ddc7
mov eax, ebp
sub eax, ecx
cmp eax, dword [esp + 0x104]
jae 0x1010dcec
push 1
push dword [esp + 0xc]
mov eax, dword [esp + 0x44]
call dword [eax + 0xc]
add esp, 8
mov edx, dword [esp + 0xc]
lea eax, [edi + ebp]
nop word cs:[eax + eax]
nop dword [eax]
cmp edx, eax
je 0x1010ddc7
movzx ecx, byte [edx]
lea esi, [edx + 1]
movzx ebx, cl
test cl, cl
js 0x1010dd20
mov edx, esi
jmp 0x1010dda0
cmp esi, eax
je 0x1010dd30
movzx esi, byte [edx + 1]
add edx, 2
and esi, 0x3f
jmp 0x1010dd34
xor esi, esi
mov edx, eax
and ebx, 0x1f
cmp cl, 0xdf
jbe 0x1010dd49
cmp edx, eax
je 0x1010dd50
movzx edi, byte [edx]
inc edx
and edi, 0x3f
jmp 0x1010dd54
shl ebx, 6
or ebx, esi
jmp 0x1010dda0
xor edi, edi
mov edx, eax
shl esi, 6
or esi, edi
cmp cl, 0xf0
jb 0x1010dd6b
cmp edx, eax
je 0x1010dd79
movzx ecx, byte [edx]
inc edx
and ecx, 0x3f
jmp 0x1010dd7d
mov edi, dword [esp + 0x100]
shl ebx, 0xc
or ebx, esi
jmp 0x1010dda0
xor ecx, ecx
mov edx, eax
and ebx, 7
mov edi, dword [esp + 0x100]
shl esi, 6
shl ebx, 0x12
or esi, ebx
or esi, ecx
cmp esi, 0x110000
mov ebx, esi
je 0x1010ddc7
nop
cmp ebx, 0xd
ja 0x1010dd00
mov ecx, 0x2600
bt ecx, ebx
jae 0x1010dd00
push 9
push dword [esp + 0xc]
mov eax, dword [esp + 0x44]
call dword [eax + 0xc]
add esp, 8
mov ecx, dword [esp + 0xc]
add edi, ebp
mov eax, 0x2600
mov dword [esp], edi
jmp 0x1010ddee
mov esi, edx
cmp esi, 0x110000
jne 0x1010debc
cmp ecx, edi
je 0x1010ec8a
movzx ebx, byte [ecx]
lea esi, [ecx + 1]
movzx edx, bl
test bl, bl
js 0x1010de10
mov ecx, esi
jmp 0x1010dea0
cmp esi, edi
je 0x1010de20
movzx esi, byte [ecx + 1]
add ecx, 2
and esi, 0x3f
jmp 0x1010de24
xor esi, esi
mov ecx, edi
and edx, 0x1f
cmp bl, 0xdf
jbe 0x1010de39
cmp ecx, edi
je 0x1010de40
movzx edi, byte [ecx]
inc ecx
and edi, 0x3f
jmp 0x1010de46
shl edx, 6
or edx, esi
jmp 0x1010dea0
mov eax, edi
xor edi, edi
mov ecx, eax
shl esi, 6
mov eax, 0x2600
or esi, edi
cmp bl, 0xf0
jb 0x1010de65
mov ebx, dword [esp]
cmp ecx, ebx
je 0x1010de6f
movzx edi, byte [ecx]
inc ecx
and edi, 0x3f
jmp 0x1010de73
mov edi, dword [esp]
shl edx, 0xc
or edx, esi
jmp 0x1010dea0
xor edi, edi
mov ecx, ebx
and edx, 7
shl esi, 6
shl edx, 0x12
or esi, edx
or esi, edi
mov edi, dword [esp]
cmp esi, 0x110000
mov edx, esi
je 0x1010ec8a
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp edx, 0xd
ja 0x1010dde0
mov esi, 0x110000
bt eax, edx
jb 0x1010dde2
jmp 0x1010dde0
mov ecx, dword [esp + 0xc]
mov eax, 0x2600
jmp 0x1010dede
mov esi, edx
cmp esi, 0x110000
jne 0x1010dfac
cmp ecx, edi
je 0x1010ec8a
movzx ebx, byte [ecx]
lea esi, [ecx + 1]
movzx edx, bl
test bl, bl
js 0x1010df00
mov ecx, esi
jmp 0x1010df90
cmp esi, edi
je 0x1010df10
movzx esi, byte [ecx + 1]
add ecx, 2
and esi, 0x3f
jmp 0x1010df14
xor esi, esi
mov ecx, edi
and edx, 0x1f
cmp bl, 0xdf
jbe 0x1010df29
cmp ecx, edi
je 0x1010df30
movzx edi, byte [ecx]
inc ecx
and edi, 0x3f
jmp 0x1010df36
shl edx, 6
or edx, esi
jmp 0x1010df90
mov eax, edi
xor edi, edi
mov ecx, eax
shl esi, 6
mov eax, 0x2600
or esi, edi
cmp bl, 0xf0
jb 0x1010df55
mov ebx, dword [esp]
cmp ecx, ebx
je 0x1010df5f
movzx edi, byte [ecx]
inc ecx
and edi, 0x3f
jmp 0x1010df63
mov edi, dword [esp]
shl edx, 0xc
or edx, esi
jmp 0x1010df90
xor edi, edi
mov ecx, ebx
and edx, 7
shl esi, 6
shl edx, 0x12
or esi, edx
or esi, edi
mov edi, dword [esp]
cmp esi, 0x110000
mov edx, esi
je 0x1010ec8a
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp edx, 0xd
ja 0x1010ded0
mov esi, 0x110000
bt eax, edx
jb 0x1010ded2
jmp 0x1010ded0
and esi, 0xffffffdf
add esi, 0xffffffbf
cmp esi, 0x19
ja 0x1010ec8a
cmp ebp, dword [esp + 4]
jne 0x1010e048
cmp byte [esp + 0x64], 1
jne 0x1010ec82
movsd xmm1, qword [esp + 0x4c]
movsd xmm0, qword [esp + 0x44]
mov eax, dword [esp + 0x64]
movsd xmm2, qword [esp + 0x5c]
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0x54]
movsd qword [esp + 0x68], xmm0
mov dword [esp + 0x88], eax
movsd qword [esp + 0x80], xmm2
movsd qword [esp + 0x78], xmm1
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x68]
mov ecx, ebx
mov edx, esi
call fcn.1010f080
cmp esi, dword [esp + 0x6c]
jne 0x1010e25a
lea ecx, [esp + 0x68]
mov edx, 1
mov ebx, eax
call fcn.10116f60
mov eax, ebx
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0x70]
jmp 0x1010e25c
mov edi, dword [esp + 0xc]
xor eax, eax
mov ebp, 0x2600
mov dword [esp + 4], eax
mov edx, edi
jmp 0x1010e06e
bt ebp, eax
jae 0x1010e0dd
cmp edx, dword [esp]
je 0x1010dfc5
movzx ebx, byte [edx]
lea edi, [edx + 1]
movzx eax, bl
test bl, bl
jns 0x1010e0d6
mov ecx, edi
mov edi, dword [esp]
cmp ecx, edi
je 0x1010e092
movzx ecx, byte [edx + 1]
add edx, 2
mov edi, edx
and ecx, 0x3f
jmp 0x1010e094
xor ecx, ecx
and eax, 0x1f
cmp bl, 0xdf
jbe 0x1010e0ac
mov esi, dword [esp]
cmp edi, esi
je 0x1010e0b1
movzx edx, byte [edi]
inc edi
and edx, 0x3f
jmp 0x1010e0b5
shl eax, 6
jmp 0x1010e0d4
xor edx, edx
mov edi, esi
shl ecx, 6
or ecx, edx
cmp bl, 0xf0
jb 0x1010e0d1
mov edx, dword [esp]
cmp edi, edx
je 0x1010e0e6
movzx ebx, byte [edi]
inc edi
mov edx, edi
and ebx, 0x3f
jmp 0x1010e0e8
shl eax, 0xc
or eax, ecx
mov edx, edi
cmp eax, 0xd
jbe 0x1010e060
cmp eax, 0x110000
je 0x1010e065
jmp 0x1010e104
xor ebx, ebx
and eax, 7
shl ecx, 6
shl eax, 0x12
or ecx, eax
or ecx, ebx
cmp ecx, 0x110000
mov eax, ecx
jne 0x1010e0d8
jmp 0x1010dfc5
lea ecx, [eax - 0x30]
cmp ecx, 0xa
jb 0x1010e12a
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
jb 0x1010e12a
lea ecx, [eax - 0x2d]
cmp ecx, 2
jb 0x1010e12a
cmp eax, 0x2b
jne 0x1010ec79
cmp eax, 0x80
mov edx, eax
setb cl
add dl, 0xbf
cmp dl, 0x1a
setb dl
and dl, cl
movzx ebx, dl
shl ebx, 5
or ebx, eax
cmp ebx, 0x80
jae 0x1010e184
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x14]
cmp ecx, dword [esp + 0x48]
jne 0x1010e173
lea ecx, [esp + 0x44]
mov edx, 1
call fcn.10116f60
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
mov byte [eax + ecx], bl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
inc eax
jmp 0x1010e23d
cmp ebx, 0x800
mov dword [esp + 0x18], 0
jae 0x1010e1ae
shr eax, 6
and bl, 0x3f
or al, 0xc0
or bl, 0x80
mov byte [esp + 0x18], al
mov byte [esp + 0x19], bl
mov ebx, 2
jmp 0x1010e211
mov ecx, eax
cmp ebx, 0x10000
jae 0x1010e1de
shr eax, 6
shr ecx, 0xc
and bl, 0x3f
and al, 0x3f
or cl, 0xe0
or bl, 0x80
or al, 0x80
mov byte [esp + 0x18], cl
mov byte [esp + 0x19], al
mov byte [esp + 0x1a], bl
mov ebx, 3
jmp 0x1010e211
shr ecx, 0x12
and bl, 0x3f
or cl, 0xf0
or bl, 0x80
mov byte [esp + 0x18], cl
mov ecx, eax
shr eax, 6
shr ecx, 0xc
and al, 0x3f
and cl, 0x3f
or al, 0x80
or cl, 0x80
mov byte [esp + 0x19], cl
mov byte [esp + 0x1a], al
mov byte [esp + 0x1b], bl
mov ebx, 4
lea ecx, [esp + 0x44]
mov edx, ebx
call fcn.10116f60
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
add eax, esi
push ebx
lea ecx, [esp + 0x1c]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, esi
add esp, 0xc
add eax, ebx
cmp edi, dword [esp]
mov dword [esp + 0x4c], eax
jne 0x1010e053
mov edi, dword [esp]
jmp 0x1010dfc5
mov ebx, dword [esp]
jmp 0x1010dbe7
mov ecx, esi
mov byte [ebx + ecx], 0x3a
inc ecx
movzx ebp, al
test al, al
mov dword [esp + 0x70], ecx
je 0x1010e656
cmp ebp, 2
mov dword [esp + 4], ebp
je 0x1010e574
mov dword [esp + 0xc], esi
mov edx, 0x2600
mov esi, edi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 8], 0
mov dword [esp + 0x3c], esi
jmp 0x1010e2ac
mov ecx, ebp
cmp ecx, 0x110000
jne 0x1010e36c
cmp esi, dword [esp]
je 0x1010e381
movzx ebx, byte [esi]
lea eax, [esi + 1]
movzx ecx, bl
test bl, bl
js 0x1010e2cb
mov esi, eax
mov ebp, ecx
jmp 0x1010e350
mov edx, dword [esp]
cmp eax, edx
je 0x1010e2e0
movzx ebp, byte [esi + 1]
add esi, 2
mov eax, esi
and ebp, 0x3f
jmp 0x1010e2e4
xor ebp, ebp
mov esi, edx
and ecx, 0x1f
cmp bl, 0xdf
jbe 0x1010e2fe
mov edx, dword [esp]
cmp esi, edx
je 0x1010e303
movzx edx, byte [esi]
inc esi
mov eax, esi
and edx, 0x3f
jmp 0x1010e307
shl ecx, 6
jmp 0x1010e326
mov esi, edx
xor edx, edx
shl ebp, 6
or ebp, edx
cmp bl, 0xf0
jb 0x1010e323
mov edx, dword [esp]
cmp esi, edx
je 0x1010e32f
movzx ebx, byte [esi]
inc esi
mov eax, esi
and ebx, 0x3f
jmp 0x1010e333
shl ecx, 0xc
or ebp, ecx
mov edx, 0x2600
jmp 0x1010e350
xor ebx, ebx
mov esi, edx
and ecx, 7
shl ebp, 6
mov edx, 0x2600
shl ecx, 0x12
or ebp, ecx
or ebp, ebx
cmp ebp, 0x110000
je 0x1010e381
nop dword [eax]
cmp ebp, 0xd
ja 0x1010e29e
mov ecx, 0x110000
bt edx, ebp
jb 0x1010e2a0
jmp 0x1010e29e
cmp ecx, 0x5c
je 0x1010e376
cmp ecx, 0x2f
jne 0x1010e381
inc dword [esp + 8]
mov esi, eax
jmp 0x1010e298
cmp dword [esp + 8], 1
ja 0x1010e3f9
mov esi, dword [esp + 0x74]
test esi, esi
je 0x1010e3f9
mov ebx, dword [esi + 0xc]
mov ecx, dword [esi]
test ebx, ebx
je 0x1010e3b0
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x1010e3b0
jbe 0x1010ef6c
cmp byte [ecx + ebx], 0xbf
jle 0x1010ef6c
mov eax, dword [esp + 0xc]
test eax, eax
je 0x1010e3d2
cmp dword [esp + 0x40], eax
je 0x1010e3d2
jbe 0x1010ef76
mov edx, dword [esp + 0x14]
cmp byte [edx + eax], 0xbf
jle 0x1010ef76
cmp ebx, eax
jne 0x1010e3f9
cmp ecx, dword [esp + 0x14]
je 0x1010eb8d
push dword [esp + 0xc]
push dword [esp + 0x18]
push ecx
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1010eb8d
mov eax, dword [esp + 0x80]
test eax, eax
je 0x1010ec16
mov ecx, dword [esp + 0x84]
xor edx, edx
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], 0
mov dword [esp + 8], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x18]
call fcn.10116f60
mov ebp, dword [esp]
mov esi, 0x2600
cmp edi, dword [esp]
jne 0x1010e463
jmp 0x1010e547
mov ebx, eax
cmp ebx, 0x110000
jne 0x1010e50c
cmp edi, dword [esp]
je 0x1010e547
movzx edx, byte [edi]
lea ecx, [edi + 1]
movzx eax, dl
test dl, dl
js 0x1010e477
mov edi, ecx
jmp 0x1010e4f0
mov ebx, edi
mov edi, dword [esp]
cmp ecx, edi
je 0x1010e48e
movzx ecx, byte [ebx + 1]
mov edi, ebx
add edi, 2
and ecx, 0x3f
jmp 0x1010e490
xor ecx, ecx
and eax, 0x1f
cmp dl, 0xdf
jbe 0x1010e4a5
cmp edi, ebp
je 0x1010e4ac
movzx ebx, byte [edi]
inc edi
and ebx, 0x3f
jmp 0x1010e4b0
shl eax, 6
or eax, ecx
jmp 0x1010e4f0
xor ebx, ebx
mov edi, ebp
shl ecx, 6
or ecx, ebx
cmp dl, 0xf0
jb 0x1010e4ce
mov ebx, edi
mov edi, dword [esp]
cmp ebx, edi
je 0x1010e4d5
movzx edx, byte [ebx]
inc ebx
mov edi, ebx
and edx, 0x3f
jmp 0x1010e4d7
shl eax, 0xc
or eax, ecx
jmp 0x1010e4f0
xor edx, edx
and eax, 7
shl ecx, 6
shl eax, 0x12
or ecx, eax
or ecx, edx
cmp ecx, 0x110000
mov eax, ecx
je 0x1010e547
nop
cmp eax, 0xd
ja 0x1010e44c
mov ebx, 0x110000
bt esi, eax
jb 0x1010e44e
jmp 0x1010e44c
cmp ebx, 0x5c
je 0x1010e516
cmp ebx, 0x2f
jne 0x1010e547
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x1c]
jne 0x1010e532
lea ecx, [esp + 0x18]
mov edx, 1
call fcn.10116f60
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax], bl
inc eax
mov dword [esp + 0x20], eax
cmp edi, dword [esp]
jne 0x1010e463
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x20], 2
mov bl, 1
jne 0x1010ebec
cmp esi, 0x103c92ae
je 0x1010ebea
movzx eax, word [esi]
cmp eax, 0x2f2f
setne bl
jmp 0x1010ebec
mov eax, dword [esp + 0x88]
movsd xmm1, qword [esp + 0x78]
movsd xmm0, qword [esp + 0x80]
movsd xmm2, qword [esp + 0x68]
mov dword [esp + 0x18], edi
mov ecx, 0x103c92ae
mov edx, 2
mov dword [esp + 0xac], eax
mov eax, dword [esp]
movsd qword [esp + 0x9c], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0xa4], xmm0
movsd qword [esp + 0x8c], xmm2
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
movsd qword [esp + 0x94], xmm1
push eax
call fcn.1010f170
add esp, 4
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x1010e732
test al, al
je 0x1010e732
mov ecx, dword [esp + 0xac]
movsd xmm1, qword [esp + 0x9c]
mov eax, dword [esp + 0x1c]
movsd xmm0, qword [esp + 0xa4]
movsd xmm2, qword [esp + 0x8c]
lea edx, [esp + 0x18]
mov dword [esp + 0x38], ecx
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x94]
mov ecx, dword [esp + 0x10]
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
push esi
push dword [esp + 8]
push eax
push ebx
jmp 0x1010ec6c
mov esi, dword [esp + 0x80]
test esi, esi
je 0x1010e697
mov eax, dword [esp]
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x18], edi
mov ecx, 0x103c92ae
mov edx, 2
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
push eax
call fcn.1010f170
add esp, 4
test al, al
jne 0x1010e697
push 4
push esi
call dword [ebx + 0xc]
add esp, 8
mov esi, dword [esp + 0x74]
xor eax, eax
test esi, esi
je 0x1010e6d8
mov ebx, dword [esi + 0xc]
mov ecx, dword [esi]
test ebx, ebx
je 0x1010e6c1
mov edx, dword [esi + 8]
cmp edx, ebx
je 0x1010e6c1
jbe 0x1010ef6e
cmp byte [ecx + ebx], 0xbf
jle 0x1010ef6e
cmp ebx, 4
jne 0x1010e6d8
cmp ecx, 0x103c92b0
je 0x1010e6d6
cmp dword [ecx], 0x656c6966
jne 0x1010e6d8
mov eax, esi
mov dword [esp + 0x70], 0
lea edx, [esp + 0x18]
mov ecx, dword [esp + 0x88]
movsd xmm0, qword [esp + 0x80]
movsd xmm1, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x70]
mov dword [esp + 0x38], ecx
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esp + 0x68]
mov ecx, dword [esp + 0x10]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm2
movsd qword [esp + 0x18], xmm0
push eax
push ebp
push dword [esp + 8]
push edi
jmp 0x1010ef22
mov dword [esp + 0xc], esi
mov esi, dword [esp]
mov ebx, dword [esp + 0x94]
cmp edi, esi
je 0x1010ea40
mov dword [esp + 8], ebx
mov eax, 0x2600
mov ebp, edi
jmp 0x1010e767
bt eax, ecx
jae 0x1010e80f
cmp ebp, dword [esp]
je 0x1010e887
movzx ebx, byte [ebp]
lea edx, [ebp + 1]
movzx ecx, bl
test bl, bl
js 0x1010e77c
mov ebp, edx
jmp 0x1010e806
mov esi, dword [esp]
cmp edx, esi
je 0x1010e78f
movzx edx, byte [ebp + 1]
add ebp, 2
and edx, 0x3f
jmp 0x1010e793
xor edx, edx
mov ebp, esi
and ecx, 0x1f
cmp bl, 0xdf
jbe 0x1010e7ae
mov eax, edi
mov edi, dword [esp]
cmp ebp, edi
je 0x1010e7b5
movzx esi, byte [ebp]
inc ebp
and esi, 0x3f
jmp 0x1010e7b9
shl ecx, 6
or ecx, edx
jmp 0x1010e806
xor esi, esi
mov ebp, edi
shl edx, 6
mov edi, eax
or edx, esi
cmp bl, 0xf0
jb 0x1010e7db
mov esi, dword [esp]
mov eax, 0x2600
cmp ebp, esi
je 0x1010e7e7
movzx ebx, byte [ebp]
inc ebp
and ebx, 0x3f
jmp 0x1010e7eb
shl ecx, 0xc
mov eax, 0x2600
or ecx, edx
jmp 0x1010e806
xor ebx, ebx
mov ebp, esi
and ecx, 7
shl edx, 6
shl ecx, 0x12
or edx, ecx
or edx, ebx
cmp edx, 0x110000
mov ecx, edx
je 0x1010e887
cmp ecx, 0xd
jbe 0x1010e755
cmp ecx, 0x110000
je 0x1010e75e
cmp ecx, 0x2f
jne 0x1010e887
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x90]
jne 0x1010e845
lea ecx, [esp + 0x8c]
mov edx, 1
call fcn.10116f60
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 4]
mov byte [ecx + eax], 0x2f
inc eax
mov byte [esp + 0x18], 0
lea ecx, [esp + 0x8c]
mov dword [esp + 0x94], eax
push dword [esp]
push ebp
mov ebx, dword [esp + 0x10]
push ebx
lea eax, [esp + 0x24]
push eax
call fcn.10110ee0
add esp, 0x10
mov edi, eax
mov esi, edx
jmp 0x1010ea42
mov esi, dword [esp]
cmp edi, esi
je 0x1010ea3c
lea ecx, [esp + 0x8c]
mov eax, 0x2600
mov ebp, edi
mov dword [esp + 0x3c], edi
movzx ebx, byte [ebp]
lea esi, [ebp + 1]
movzx edx, bl
test bl, bl
js 0x1010e8b6
mov edi, esi
jmp 0x1010e934
mov edi, dword [esp]
cmp esi, edi
je 0x1010e8c9
movzx eax, byte [ebp + 1]
lea esi, [ebp + 2]
and eax, 0x3f
jmp 0x1010e8cd
xor eax, eax
mov esi, edi
and edx, 0x1f
cmp bl, 0xdf
jbe 0x1010e8e4
cmp esi, edi
je 0x1010e8ed
movzx ecx, byte [esi]
inc esi
mov edi, esi
and ecx, 0x3f
jmp 0x1010e8ef
shl edx, 6
mov edi, esi
or edx, eax
jmp 0x1010e92f
xor ecx, ecx
shl eax, 6
or eax, ecx
cmp bl, 0xf0
jb 0x1010e910
cmp edi, dword [esp]
lea ecx, [esp + 0x8c]
je 0x1010e91e
movzx ebx, byte [edi]
inc edi
mov esi, edi
and ebx, 0x3f
jmp 0x1010e920
shl edx, 0xc
lea ecx, [esp + 0x8c]
or edx, eax
jmp 0x1010e92f
xor ebx, ebx
and edx, 7
shl eax, 6
shl edx, 0x12
or eax, edx
or eax, ebx
mov edx, eax
mov eax, 0x2600
cmp edx, 0xd
ja 0x1010e94e
bt eax, edx
jae 0x1010e94e
cmp edi, dword [esp]
mov ebp, edi
jne 0x1010e8a4
jmp 0x1010ea39
cmp edx, 0x110000
je 0x1010ef30
mov eax, dword [esp]
mov ebx, 1
sub eax, ebp
cmp edx, 0x80
jb 0x1010e987
mov ebx, 2
cmp edx, 0x800
jb 0x1010e987
cmp edx, 0x10000
mov ebx, 4
sbb ebx, 0
cmp eax, ebx
je 0x1010e99c
jbe 0x1010ef85
cmp byte [ebp + ebx], 0xbf
jle 0x1010ef85
cmp edx, 0x23
je 0x1010e9a6
cmp edx, 0x3f
jne 0x1010e9b4
cmp byte [esp + 0xac], 0
je 0x1010ef2c
push dword [esp]
push esi
call fcn.10114a40
add esp, 8
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], 0x103c9120
call fcn.1004b430
test eax, eax
je 0x1010ea24
mov ebp, eax
mov esi, edx
lea ecx, [esp + 0x8c]
mov edx, esi
call fcn.10116f60
mov ebx, dword [esp + 0x94]
mov eax, dword [esp + 0x8c]
add eax, ebx
push esi
push ebp
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, esi
lea ecx, [esp + 0x18]
mov dword [esp + 0x94], ebx
call fcn.1004b430
mov ebp, eax
mov esi, edx
test eax, eax
jne 0x1010e9e1
cmp edi, dword [esp]
lea ecx, [esp + 0x8c]
mov eax, 0x2600
jne 0x1010e89e
mov esi, dword [esp]
mov ebx, dword [esp + 8]
mov edi, esi
movsd xmm1, qword [esp + 0x9c]
mov eax, dword [esp + 0xac]
movsd xmm0, qword [esp + 0xa4]
movsd xmm3, qword [esp + 0x8c]
movsd xmm2, qword [esp + 0xd9]
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x18]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x94]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe8]
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x18], xmm3
movsd qword [esp + 0xc4], xmm2
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0xe1]
mov dword [esp + 0xd3], eax
movsd qword [esp + 0xcc], xmm1
push esi
push edi
mov esi, dword [esp + 0x14]
push esi
push dword [esp + 0x10]
call fcn.101121a0
add esp, 0x10
cmp byte [esp + 0xb0], 1
jne 0x1010eb08
cmp dword [esp + 0x1c], 0
mov al, byte [esp + 0xb1]
mov ecx, dword [esp + 0x10]
mov byte [ecx + 1], al
mov byte [ecx], 1
je 0x1010eecc
mov esi, dword [esp + 0x18]
jmp 0x1010eebe
mov ecx, dword [esp + 0x10]
movsd xmm0, qword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xd3]
movsd qword [ecx + 4], xmm0
movsd xmm0, qword [esp + 0xcc]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x1c], ebx
mov byte [ecx + 0x20], 0
mov esi, dword [esp + 0xb4]
movsd qword [ecx + 0x29], xmm0
mov dword [ecx + 0x30], edx
movsd xmm0, qword [esp + 0xc4]
mov edx, dword [esp + 0xb8]
movsd qword [ecx + 0x21], xmm0
mov dword [ecx + 0x34], ebx
mov dword [ecx + 0x38], esi
mov dword [ecx + 0x3c], edx
mov esi, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
mov dword [ecx + 0x40], esi
mov dword [ecx + 0x44], edx
mov word [ecx + 0x48], 0
mov byte [ecx], 0
jmp 0x1010eecc
mov dword [esp + 0x70], 0
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x18]
movsd xmm0, qword [esp + 0x80]
mov eax, dword [esp + 0x88]
movsd xmm1, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x70]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esp + 0x68]
mov dword [esp + 0x38], eax
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm2
movsd qword [esp + 0x18], xmm0
push esi
push dword [esp + 8]
push dword [esp + 8]
push edi
jmp 0x1010eea0
xor ebx, ebx
cmp dword [esp + 0x1c], 0
je 0x1010ec01
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 8]
test bl, bl
je 0x1010ec16
push 3
push eax
mov eax, dword [esp + 0x1c]
call dword [eax + 0xc]
add esp, 8
movsd xmm1, qword [esp + 0x78]
mov eax, dword [esp + 0x88]
movsd xmm0, qword [esp + 0x80]
movsd xmm2, qword [esp + 0x68]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x18]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x70]
mov dword [esp + 0x38], eax
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
push dword [esp + 0xc]
push dword [esp + 8]
push dword [esp + 8]
push dword [esp + 0x48]
call fcn.1010f3c0
add esp, 0x10
jmp 0x1010eecc
cmp eax, 0x3a
je 0x1010dfd0
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x50]
test eax, eax
mov dword [esp + 4], eax
je 0x1010ed7c
mov ecx, dword [esp + 0xc]
mov eax, 0x2600
jmp 0x1010ecbe
mov edi, edx
cmp edi, 0x110000
jne 0x1010ed95
cmp ecx, dword [esp]
je 0x1010edf2
movzx ebx, byte [ecx]
lea edi, [ecx + 1]
movzx edx, bl
test bl, bl
js 0x1010ece0
mov ecx, edi
jmp 0x1010ed60
mov ebp, dword [esp]
cmp edi, ebp
je 0x1010ecf3
movzx edi, byte [ecx + 1]
add ecx, 2
and edi, 0x3f
jmp 0x1010ecf7
xor edi, edi
mov ecx, ebp
and edx, 0x1f
cmp bl, 0xdf
jbe 0x1010ed0f
mov esi, dword [esp]
cmp ecx, esi
je 0x1010ed16
movzx ebp, byte [ecx]
inc ecx
and ebp, 0x3f
jmp 0x1010ed1a
shl edx, 6
or edx, edi
jmp 0x1010ed60
xor ebp, ebp
mov ecx, esi
shl edi, 6
or edi, ebp
cmp bl, 0xf0
jb 0x1010ed34
mov esi, dword [esp]
cmp ecx, esi
je 0x1010ed3b
movzx ebx, byte [ecx]
inc ecx
and ebx, 0x3f
jmp 0x1010ed3f
shl edx, 0xc
or edx, edi
jmp 0x1010ed60
xor ebx, ebx
mov ecx, esi
and edx, 7
shl edi, 6
shl edx, 0x12
or edi, edx
or edi, ebx
cmp edi, 0x110000
mov edx, edi
je 0x1010edf2
nop word [eax + eax]
cmp edx, 0xd
ja 0x1010ecb0
mov edi, 0x110000
bt eax, edx
jb 0x1010ecb2
jmp 0x1010ecb0
mov eax, dword [esp + 0x10]
mov word [eax], 0x601
cmp dword [esp + 0x48], 0
jne 0x1010eeba
jmp 0x1010eecc
cmp edi, 0x23
jne 0x1010edf2
movsd xmm1, qword [esp + 0x54]
mov eax, dword [esp + 0x64]
movsd xmm0, qword [esp + 0x5c]
movsd xmm2, qword [esp + 0x44]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x18]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x4c]
mov dword [esp + 0x38], eax
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
push dword [esp]
push dword [esp + 0x10]
push dword [esp + 0xc]
call fcn.10114630
add esp, 0xc
jmp 0x1010eecc
mov edx, dword [esp + 4]
mov eax, dword [edx + 0xc]
mov ecx, dword [edx]
mov edx, dword [edx + 8]
mov edi, eax
inc edi
je 0x1010ee17
cmp edx, edi
je 0x1010ee17
jbe 0x1010ef51
cmp byte [ecx + edi], 0xbf
jle 0x1010ef51
cmp edx, edi
je 0x1010eeaa
cmp byte [ecx + edi], 0x2f
jne 0x1010eeaa
test eax, eax
je 0x1010ee41
cmp edx, eax
je 0x1010ee41
jbe 0x1010ef5a
cmp byte [ecx + eax], 0xbf
jle 0x1010ef5a
mov edx, eax
call fcn.1010f080
mov edi, dword [esp]
test al, al
je 0x1010eed7
mov ecx, dword [esp + 0x64]
movsd xmm1, qword [esp + 0x54]
movsd xmm0, qword [esp + 0x5c]
movsd xmm2, qword [esp + 0x44]
lea edx, [esp + 0x18]
movzx eax, al
mov dword [esp + 0x38], ecx
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
push dword [esp + 4]
push eax
push edi
push dword [esp + 0x18]
call fcn.101138e0
add esp, 0x10
jmp 0x1010eecc
mov eax, dword [esp + 0x10]
mov word [eax], 0x701
cmp dword [esp + 0x48], 0
je 0x1010eecc
mov esi, dword [esp + 0x44]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
add esp, 0xec
pop esi
pop edi
pop ebx
pop ebp
ret
movsd xmm1, qword [esp + 0x54]
mov eax, dword [esp + 0x64]
movsd xmm0, qword [esp + 0x5c]
movsd xmm2, qword [esp + 0x44]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x18]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x4c]
mov dword [esp + 0x38], eax
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
push dword [esp + 4]
push 0
push edi
push dword [esp + 0x18]
call fcn.101127c0
add esp, 0x10
jmp 0x1010eecc
mov edi, dword [esp + 0x3c]
mov esi, dword [esp]
mov ebx, dword [esp + 8]
jmp 0x1010ea42
call fcn.100067e0
ud2
mov ecx, edi
mov edx, 1
call fcn.100067d0
ud2
push 0x103c92c4
push edx
push edi
jmp 0x1010ef62
push 0x103c91fc
push eax
push 0
call fcn.10009090
add esp, 0xc
ud2
mov edx, eax
push 0x103c91fc
push ebx
jmp 0x1010ef60
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
push 0x103c92b4
jmp 0x1010ef5f
mov ecx, ebp
mov edx, eax
push 0x103c92d4
jmp 0x1010ef73