Function at 0x1010d7a0
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 0x1010ec5c
xor ebp, ebp
mov esi, edx
test edi, edi
mov dword [esp + 0x10], ecx
je 0x1010d7e1
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1010ec63
mov ebx, eax
mov eax, edi
jmp 0x1010d7e8
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 0x1010d85b
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 0x1010d909
mov esi, ebp
cmp edi, ecx
je 0x1010d903
movzx ebx, byte [ecx]
lea eax, [ecx + 1]
movzx edx, bl
test bl, bl
jns 0x1010d840
cmp eax, edi
mov dword [esp + 4], esi
je 0x1010d889
movzx eax, byte [ecx + 1]
lea esi, [ecx + 2]
mov dword [esp], esi
and eax, 0x3f
jmp 0x1010d890
mov dword [esp], eax
mov esi, edi
xor eax, eax
and edx, 0x1f
cmp bl, 0xdf
jbe 0x1010d8a8
cmp esi, edi
je 0x1010d8ad
movzx ebp, byte [esi]
inc esi
mov dword [esp], esi
and ebp, 0x3f
jmp 0x1010d8b3
shl edx, 6
jmp 0x1010d8f8
mov ebp, edi
mov esi, edi
xor ebp, ebp
shl eax, 6
or eax, ebp
cmp bl, 0xf0
jb 0x1010d8f5
xor ebp, ebp
cmp esi, edi
mov ebx, 0
je 0x1010d8d2
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 0x1010d843
jmp 0x1010df72
shl edx, 0xc
mov esi, dword [esp + 4]
or edx, eax
jmp 0x1010d843
xor ebp, ebp
mov ebx, ecx
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], ebx
jmp 0x1010d92c
movzx eax, al
cmp eax, 0x21
jae 0x1010d9cc
cmp ebx, edi
je 0x1010d9d2
mov ecx, edi
dec edi
movzx eax, byte [ecx - 1]
test al, al
jns 0x1010d920
cmp edi, ebx
je 0x1010d989
movzx edx, byte [ecx - 2]
lea edi, [ecx - 2]
mov ah, dl
and ah, 0xc0
cmp ah, 0x80
jne 0x1010d98d
cmp edi, ebx
je 0x1010d992
movzx ebx, byte [ecx - 3]
lea edi, [ecx - 3]
mov ah, bl
and ah, 0xc0
cmp ah, 0x80
jne 0x1010d996
cmp edi, dword [esp]
je 0x1010d99b
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 0x1010d9a3
xor edx, edx
jmp 0x1010d9b5
and edx, 0x1f
jmp 0x1010d9b5
xor ebx, ebx
jmp 0x1010d9aa
and ebx, 0xf
jmp 0x1010d9aa
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 0x1010d923
jmp 0x1010d9d2
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 0x1010dae7
mov eax, ebp
sub eax, ecx
cmp eax, dword [esp + 0x104]
jae 0x1010da0c
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 0x1010dae7
movzx ecx, byte [edx]
lea esi, [edx + 1]
movzx ebx, cl
test cl, cl
js 0x1010da40
mov edx, esi
jmp 0x1010dac0
cmp esi, eax
je 0x1010da50
movzx esi, byte [edx + 1]
add edx, 2
and esi, 0x3f
jmp 0x1010da54
xor esi, esi
mov edx, eax
and ebx, 0x1f
cmp cl, 0xdf
jbe 0x1010da69
cmp edx, eax
je 0x1010da70
movzx edi, byte [edx]
inc edx
and edi, 0x3f
jmp 0x1010da74
shl ebx, 6
or ebx, esi
jmp 0x1010dac0
xor edi, edi
mov edx, eax
shl esi, 6
or esi, edi
cmp cl, 0xf0
jb 0x1010da8b
cmp edx, eax
je 0x1010da99
movzx ecx, byte [edx]
inc edx
and ecx, 0x3f
jmp 0x1010da9d
mov edi, dword [esp + 0x100]
shl ebx, 0xc
or ebx, esi
jmp 0x1010dac0
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 0x1010dae7
nop
cmp ebx, 0xd
ja 0x1010da20
mov ecx, 0x2600
bt ecx, ebx
jae 0x1010da20
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 0x1010db0e
mov esi, edx
cmp esi, 0x110000
jne 0x1010dbdc
cmp ecx, edi
je 0x1010e9aa
movzx ebx, byte [ecx]
lea esi, [ecx + 1]
movzx edx, bl
test bl, bl
js 0x1010db30
mov ecx, esi
jmp 0x1010dbc0
cmp esi, edi
je 0x1010db40
movzx esi, byte [ecx + 1]
add ecx, 2
and esi, 0x3f
jmp 0x1010db44
xor esi, esi
mov ecx, edi
and edx, 0x1f
cmp bl, 0xdf
jbe 0x1010db59
cmp ecx, edi
je 0x1010db60
movzx edi, byte [ecx]
inc ecx
and edi, 0x3f
jmp 0x1010db66
shl edx, 6
or edx, esi
jmp 0x1010dbc0
mov eax, edi
xor edi, edi
mov ecx, eax
shl esi, 6
mov eax, 0x2600
or esi, edi
cmp bl, 0xf0
jb 0x1010db85
mov ebx, dword [esp]
cmp ecx, ebx
je 0x1010db8f
movzx edi, byte [ecx]
inc ecx
and edi, 0x3f
jmp 0x1010db93
mov edi, dword [esp]
shl edx, 0xc
or edx, esi
jmp 0x1010dbc0
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 0x1010e9aa
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp edx, 0xd
ja 0x1010db00
mov esi, 0x110000
bt eax, edx
jb 0x1010db02
jmp 0x1010db00
mov ecx, dword [esp + 0xc]
mov eax, 0x2600
jmp 0x1010dbfe
mov esi, edx
cmp esi, 0x110000
jne 0x1010dccc
cmp ecx, edi
je 0x1010e9aa
movzx ebx, byte [ecx]
lea esi, [ecx + 1]
movzx edx, bl
test bl, bl
js 0x1010dc20
mov ecx, esi
jmp 0x1010dcb0
cmp esi, edi
je 0x1010dc30
movzx esi, byte [ecx + 1]
add ecx, 2
and esi, 0x3f
jmp 0x1010dc34
xor esi, esi
mov ecx, edi
and edx, 0x1f
cmp bl, 0xdf
jbe 0x1010dc49
cmp ecx, edi
je 0x1010dc50
movzx edi, byte [ecx]
inc ecx
and edi, 0x3f
jmp 0x1010dc56
shl edx, 6
or edx, esi
jmp 0x1010dcb0
mov eax, edi
xor edi, edi
mov ecx, eax
shl esi, 6
mov eax, 0x2600
or esi, edi
cmp bl, 0xf0
jb 0x1010dc75
mov ebx, dword [esp]
cmp ecx, ebx
je 0x1010dc7f
movzx edi, byte [ecx]
inc ecx
and edi, 0x3f
jmp 0x1010dc83
mov edi, dword [esp]
shl edx, 0xc
or edx, esi
jmp 0x1010dcb0
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 0x1010e9aa
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp edx, 0xd
ja 0x1010dbf0
mov esi, 0x110000
bt eax, edx
jb 0x1010dbf2
jmp 0x1010dbf0
and esi, 0xffffffdf
add esi, 0xffffffbf
cmp esi, 0x19
ja 0x1010e9aa
cmp ebp, dword [esp + 4]
jne 0x1010dd68
cmp byte [esp + 0x64], 1
jne 0x1010e9a2
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.1010eda0
cmp esi, dword [esp + 0x6c]
jne 0x1010df7a
lea ecx, [esp + 0x68]
mov edx, 1
mov ebx, eax
call fcn.10116c80
mov eax, ebx
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0x70]
jmp 0x1010df7c
mov edi, dword [esp + 0xc]
xor eax, eax
mov ebp, 0x2600
mov dword [esp + 4], eax
mov edx, edi
jmp 0x1010dd8e
bt ebp, eax
jae 0x1010ddfd
cmp edx, dword [esp]
je 0x1010dce5
movzx ebx, byte [edx]
lea edi, [edx + 1]
movzx eax, bl
test bl, bl
jns 0x1010ddf6
mov ecx, edi
mov edi, dword [esp]
cmp ecx, edi
je 0x1010ddb2
movzx ecx, byte [edx + 1]
add edx, 2
mov edi, edx
and ecx, 0x3f
jmp 0x1010ddb4
xor ecx, ecx
and eax, 0x1f
cmp bl, 0xdf
jbe 0x1010ddcc
mov esi, dword [esp]
cmp edi, esi
je 0x1010ddd1
movzx edx, byte [edi]
inc edi
and edx, 0x3f
jmp 0x1010ddd5
shl eax, 6
jmp 0x1010ddf4
xor edx, edx
mov edi, esi
shl ecx, 6
or ecx, edx
cmp bl, 0xf0
jb 0x1010ddf1
mov edx, dword [esp]
cmp edi, edx
je 0x1010de06
movzx ebx, byte [edi]
inc edi
mov edx, edi
and ebx, 0x3f
jmp 0x1010de08
shl eax, 0xc
or eax, ecx
mov edx, edi
cmp eax, 0xd
jbe 0x1010dd80
cmp eax, 0x110000
je 0x1010dd85
jmp 0x1010de24
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 0x1010ddf8
jmp 0x1010dce5
lea ecx, [eax - 0x30]
cmp ecx, 0xa
jb 0x1010de4a
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
jb 0x1010de4a
lea ecx, [eax - 0x2d]
cmp ecx, 2
jb 0x1010de4a
cmp eax, 0x2b
jne 0x1010e999
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 0x1010dea4
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x14]
cmp ecx, dword [esp + 0x48]
jne 0x1010de93
lea ecx, [esp + 0x44]
mov edx, 1
call fcn.10116c80
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 0x1010df5d
cmp ebx, 0x800
mov dword [esp + 0x18], 0
jae 0x1010dece
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 0x1010df31
mov ecx, eax
cmp ebx, 0x10000
jae 0x1010defe
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 0x1010df31
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.10116c80
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 0x1010dd73
mov edi, dword [esp]
jmp 0x1010dce5
mov ebx, dword [esp]
jmp 0x1010d907
mov ecx, esi
mov byte [ebx + ecx], 0x3a
inc ecx
movzx ebp, al
test al, al
mov dword [esp + 0x70], ecx
je 0x1010e376
cmp ebp, 2
mov dword [esp + 4], ebp
je 0x1010e294
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 0x1010dfcc
mov ecx, ebp
cmp ecx, 0x110000
jne 0x1010e08c
cmp esi, dword [esp]
je 0x1010e0a1
movzx ebx, byte [esi]
lea eax, [esi + 1]
movzx ecx, bl
test bl, bl
js 0x1010dfeb
mov esi, eax
mov ebp, ecx
jmp 0x1010e070
mov edx, dword [esp]
cmp eax, edx
je 0x1010e000
movzx ebp, byte [esi + 1]
add esi, 2
mov eax, esi
and ebp, 0x3f
jmp 0x1010e004
xor ebp, ebp
mov esi, edx
and ecx, 0x1f
cmp bl, 0xdf
jbe 0x1010e01e
mov edx, dword [esp]
cmp esi, edx
je 0x1010e023
movzx edx, byte [esi]
inc esi
mov eax, esi
and edx, 0x3f
jmp 0x1010e027
shl ecx, 6
jmp 0x1010e046
mov esi, edx
xor edx, edx
shl ebp, 6
or ebp, edx
cmp bl, 0xf0
jb 0x1010e043
mov edx, dword [esp]
cmp esi, edx
je 0x1010e04f
movzx ebx, byte [esi]
inc esi
mov eax, esi
and ebx, 0x3f
jmp 0x1010e053
shl ecx, 0xc
or ebp, ecx
mov edx, 0x2600
jmp 0x1010e070
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 0x1010e0a1
nop dword [eax]
cmp ebp, 0xd
ja 0x1010dfbe
mov ecx, 0x110000
bt edx, ebp
jb 0x1010dfc0
jmp 0x1010dfbe
cmp ecx, 0x5c
je 0x1010e096
cmp ecx, 0x2f
jne 0x1010e0a1
inc dword [esp + 8]
mov esi, eax
jmp 0x1010dfb8
cmp dword [esp + 8], 1
ja 0x1010e119
mov esi, dword [esp + 0x74]
test esi, esi
je 0x1010e119
mov ebx, dword [esi + 0xc]
mov ecx, dword [esi]
test ebx, ebx
je 0x1010e0d0
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x1010e0d0
jbe 0x1010ec8c
cmp byte [ecx + ebx], 0xbf
jle 0x1010ec8c
mov eax, dword [esp + 0xc]
test eax, eax
je 0x1010e0f2
cmp dword [esp + 0x40], eax
je 0x1010e0f2
jbe 0x1010ec96
mov edx, dword [esp + 0x14]
cmp byte [edx + eax], 0xbf
jle 0x1010ec96
cmp ebx, eax
jne 0x1010e119
cmp ecx, dword [esp + 0x14]
je 0x1010e8ad
push dword [esp + 0xc]
push dword [esp + 0x18]
push ecx
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x1010e8ad
mov eax, dword [esp + 0x80]
test eax, eax
je 0x1010e936
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.10116c80
mov ebp, dword [esp]
mov esi, 0x2600
cmp edi, dword [esp]
jne 0x1010e183
jmp 0x1010e267
mov ebx, eax
cmp ebx, 0x110000
jne 0x1010e22c
cmp edi, dword [esp]
je 0x1010e267
movzx edx, byte [edi]
lea ecx, [edi + 1]
movzx eax, dl
test dl, dl
js 0x1010e197
mov edi, ecx
jmp 0x1010e210
mov ebx, edi
mov edi, dword [esp]
cmp ecx, edi
je 0x1010e1ae
movzx ecx, byte [ebx + 1]
mov edi, ebx
add edi, 2
and ecx, 0x3f
jmp 0x1010e1b0
xor ecx, ecx
and eax, 0x1f
cmp dl, 0xdf
jbe 0x1010e1c5
cmp edi, ebp
je 0x1010e1cc
movzx ebx, byte [edi]
inc edi
and ebx, 0x3f
jmp 0x1010e1d0
shl eax, 6
or eax, ecx
jmp 0x1010e210
xor ebx, ebx
mov edi, ebp
shl ecx, 6
or ecx, ebx
cmp dl, 0xf0
jb 0x1010e1ee
mov ebx, edi
mov edi, dword [esp]
cmp ebx, edi
je 0x1010e1f5
movzx edx, byte [ebx]
inc ebx
mov edi, ebx
and edx, 0x3f
jmp 0x1010e1f7
shl eax, 0xc
or eax, ecx
jmp 0x1010e210
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 0x1010e267
nop
cmp eax, 0xd
ja 0x1010e16c
mov ebx, 0x110000
bt esi, eax
jb 0x1010e16e
jmp 0x1010e16c
cmp ebx, 0x5c
je 0x1010e236
cmp ebx, 0x2f
jne 0x1010e267
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x1c]
jne 0x1010e252
lea ecx, [esp + 0x18]
mov edx, 1
call fcn.10116c80
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 0x1010e183
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x20], 2
mov bl, 1
jne 0x1010e90c
cmp esi, 0x1044a51e
je 0x1010e90a
movzx eax, word [esi]
cmp eax, 0x2f2f
setne bl
jmp 0x1010e90c
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, 0x1044a51e
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.1010ee90
add esp, 4
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x1010e452
test al, al
je 0x1010e452
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 0x1010e98c
mov esi, dword [esp + 0x80]
test esi, esi
je 0x1010e3b7
mov eax, dword [esp]
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x18], edi
mov ecx, 0x1044a51e
mov edx, 2
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
push eax
call fcn.1010ee90
add esp, 4
test al, al
jne 0x1010e3b7
push 4
push esi
call dword [ebx + 0xc]
add esp, 8
mov esi, dword [esp + 0x74]
xor eax, eax
test esi, esi
je 0x1010e3f8
mov ebx, dword [esi + 0xc]
mov ecx, dword [esi]
test ebx, ebx
je 0x1010e3e1
mov edx, dword [esi + 8]
cmp edx, ebx
je 0x1010e3e1
jbe 0x1010ec8e
cmp byte [ecx + ebx], 0xbf
jle 0x1010ec8e
cmp ebx, 4
jne 0x1010e3f8
cmp ecx, 0x1044a520
je 0x1010e3f6
cmp dword [ecx], 0x656c6966
jne 0x1010e3f8
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 0x1010ec42
mov dword [esp + 0xc], esi
mov esi, dword [esp]
mov ebx, dword [esp + 0x94]
cmp edi, esi
je 0x1010e760
mov dword [esp + 8], ebx
mov eax, 0x2600
mov ebp, edi
jmp 0x1010e487
bt eax, ecx
jae 0x1010e52f
cmp ebp, dword [esp]
je 0x1010e5a7
movzx ebx, byte [ebp]
lea edx, [ebp + 1]
movzx ecx, bl
test bl, bl
js 0x1010e49c
mov ebp, edx
jmp 0x1010e526
mov esi, dword [esp]
cmp edx, esi
je 0x1010e4af
movzx edx, byte [ebp + 1]
add ebp, 2
and edx, 0x3f
jmp 0x1010e4b3
xor edx, edx
mov ebp, esi
and ecx, 0x1f
cmp bl, 0xdf
jbe 0x1010e4ce
mov eax, edi
mov edi, dword [esp]
cmp ebp, edi
je 0x1010e4d5
movzx esi, byte [ebp]
inc ebp
and esi, 0x3f
jmp 0x1010e4d9
shl ecx, 6
or ecx, edx
jmp 0x1010e526
xor esi, esi
mov ebp, edi
shl edx, 6
mov edi, eax
or edx, esi
cmp bl, 0xf0
jb 0x1010e4fb
mov esi, dword [esp]
mov eax, 0x2600
cmp ebp, esi
je 0x1010e507
movzx ebx, byte [ebp]
inc ebp
and ebx, 0x3f
jmp 0x1010e50b
shl ecx, 0xc
mov eax, 0x2600
or ecx, edx
jmp 0x1010e526
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 0x1010e5a7
cmp ecx, 0xd
jbe 0x1010e475
cmp ecx, 0x110000
je 0x1010e47e
cmp ecx, 0x2f
jne 0x1010e5a7
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x90]
jne 0x1010e565
lea ecx, [esp + 0x8c]
mov edx, 1
call fcn.10116c80
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.10110c00
add esp, 0x10
mov edi, eax
mov esi, edx
jmp 0x1010e762
mov esi, dword [esp]
cmp edi, esi
je 0x1010e75c
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 0x1010e5d6
mov edi, esi
jmp 0x1010e654
mov edi, dword [esp]
cmp esi, edi
je 0x1010e5e9
movzx eax, byte [ebp + 1]
lea esi, [ebp + 2]
and eax, 0x3f
jmp 0x1010e5ed
xor eax, eax
mov esi, edi
and edx, 0x1f
cmp bl, 0xdf
jbe 0x1010e604
cmp esi, edi
je 0x1010e60d
movzx ecx, byte [esi]
inc esi
mov edi, esi
and ecx, 0x3f
jmp 0x1010e60f
shl edx, 6
mov edi, esi
or edx, eax
jmp 0x1010e64f
xor ecx, ecx
shl eax, 6
or eax, ecx
cmp bl, 0xf0
jb 0x1010e630
cmp edi, dword [esp]
lea ecx, [esp + 0x8c]
je 0x1010e63e
movzx ebx, byte [edi]
inc edi
mov esi, edi
and ebx, 0x3f
jmp 0x1010e640
shl edx, 0xc
lea ecx, [esp + 0x8c]
or edx, eax
jmp 0x1010e64f
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 0x1010e66e
bt eax, edx
jae 0x1010e66e
cmp edi, dword [esp]
mov ebp, edi
jne 0x1010e5c4
jmp 0x1010e759
cmp edx, 0x110000
je 0x1010ec50
mov eax, dword [esp]
mov ebx, 1
sub eax, ebp
cmp edx, 0x80
jb 0x1010e6a7
mov ebx, 2
cmp edx, 0x800
jb 0x1010e6a7
cmp edx, 0x10000
mov ebx, 4
sbb ebx, 0
cmp eax, ebx
je 0x1010e6bc
jbe 0x1010eca5
cmp byte [ebp + ebx], 0xbf
jle 0x1010eca5
cmp edx, 0x23
je 0x1010e6c6
cmp edx, 0x3f
jne 0x1010e6d4
cmp byte [esp + 0xac], 0
je 0x1010ec4c
push dword [esp]
push esi
call fcn.10114760
add esp, 8
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], 0x1044a390
call fcn.1004b180
test eax, eax
je 0x1010e744
mov ebp, eax
mov esi, edx
lea ecx, [esp + 0x8c]
mov edx, esi
call fcn.10116c80
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.1004b180
mov ebp, eax
mov esi, edx
test eax, eax
jne 0x1010e701
cmp edi, dword [esp]
lea ecx, [esp + 0x8c]
mov eax, 0x2600
jne 0x1010e5be
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.10111ec0
add esp, 0x10
cmp byte [esp + 0xb0], 1
jne 0x1010e828
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 0x1010ebec
mov esi, dword [esp + 0x18]
jmp 0x1010ebde
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 0x1010ebec
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 0x1010ebc0
xor ebx, ebx
cmp dword [esp + 0x1c], 0
je 0x1010e921
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 0x1010e936
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.1010f0e0
add esp, 0x10
jmp 0x1010ebec
cmp eax, 0x3a
je 0x1010dcf0
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x50]
test eax, eax
mov dword [esp + 4], eax
je 0x1010ea9c
mov ecx, dword [esp + 0xc]
mov eax, 0x2600
jmp 0x1010e9de
mov edi, edx
cmp edi, 0x110000
jne 0x1010eab5
cmp ecx, dword [esp]
je 0x1010eb12
movzx ebx, byte [ecx]
lea edi, [ecx + 1]
movzx edx, bl
test bl, bl
js 0x1010ea00
mov ecx, edi
jmp 0x1010ea80
mov ebp, dword [esp]
cmp edi, ebp
je 0x1010ea13
movzx edi, byte [ecx + 1]
add ecx, 2
and edi, 0x3f
jmp 0x1010ea17
xor edi, edi
mov ecx, ebp
and edx, 0x1f
cmp bl, 0xdf
jbe 0x1010ea2f
mov esi, dword [esp]
cmp ecx, esi
je 0x1010ea36
movzx ebp, byte [ecx]
inc ecx
and ebp, 0x3f
jmp 0x1010ea3a
shl edx, 6
or edx, edi
jmp 0x1010ea80
xor ebp, ebp
mov ecx, esi
shl edi, 6
or edi, ebp
cmp bl, 0xf0
jb 0x1010ea54
mov esi, dword [esp]
cmp ecx, esi
je 0x1010ea5b
movzx ebx, byte [ecx]
inc ecx
and ebx, 0x3f
jmp 0x1010ea5f
shl edx, 0xc
or edx, edi
jmp 0x1010ea80
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 0x1010eb12
nop word [eax + eax]
cmp edx, 0xd
ja 0x1010e9d0
mov edi, 0x110000
bt eax, edx
jb 0x1010e9d2
jmp 0x1010e9d0
mov eax, dword [esp + 0x10]
mov word [eax], 0x601
cmp dword [esp + 0x48], 0
jne 0x1010ebda
jmp 0x1010ebec
cmp edi, 0x23
jne 0x1010eb12
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.10114350
add esp, 0xc
jmp 0x1010ebec
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 0x1010eb37
cmp edx, edi
je 0x1010eb37
jbe 0x1010ec71
cmp byte [ecx + edi], 0xbf
jle 0x1010ec71
cmp edx, edi
je 0x1010ebca
cmp byte [ecx + edi], 0x2f
jne 0x1010ebca
test eax, eax
je 0x1010eb61
cmp edx, eax
je 0x1010eb61
jbe 0x1010ec7a
cmp byte [ecx + eax], 0xbf
jle 0x1010ec7a
mov edx, eax
call fcn.1010eda0
mov edi, dword [esp]
test al, al
je 0x1010ebf7
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.10113600
add esp, 0x10
jmp 0x1010ebec
mov eax, dword [esp + 0x10]
mov word [eax], 0x701
cmp dword [esp + 0x48], 0
je 0x1010ebec
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.101124e0
add esp, 0x10
jmp 0x1010ebec
mov edi, dword [esp + 0x3c]
mov esi, dword [esp]
mov ebx, dword [esp + 8]
jmp 0x1010e762
call fcn.10006550
ud2
mov ecx, edi
mov edx, 1
call fcn.10006540
ud2
push 0x1044a534
push edx
push edi
jmp 0x1010ec82
push 0x1044a46c
push eax
push 0
call fcn.10008e00
add esp, 0xc
ud2
mov edx, eax
push 0x1044a46c
push ebx
jmp 0x1010ec80
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
push 0x1044a524
jmp 0x1010ec7f
mov ecx, ebp
mov edx, eax
push 0x1044a544
jmp 0x1010ec93