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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov ebx, dword [esp + 0x7c]
mov dword [esp], edx
mov dword [esp + 8], ecx
cmp dword [esp + 0x78], ebx
je 0x10113a0c
mov edx, dword [esp + 0x78]
mov esi, 0x2600
jmp 0x10113921
bt esi, ecx
jae 0x101139c9
cmp edx, ebx
je 0x10113a0c
movzx eax, byte [edx]
lea edi, [edx + 1]
movzx ebp, al
test al, al
js 0x10113940
mov edx, edi
mov ecx, ebp
jmp 0x101139c0
cmp edi, ebx
je 0x10113952
movzx ecx, byte [edx + 1]
add edx, 2
mov edi, edx
and ecx, 0x3f
jmp 0x10113956
xor ecx, ecx
mov edx, ebx
and ebp, 0x1f
cmp al, 0xdf
jbe 0x1011396c
cmp edx, ebx
je 0x10113973
movzx ebx, byte [edx]
inc edx
mov edi, edx
and ebx, 0x3f
jmp 0x10113979
shl ebp, 6
or ecx, ebp
jmp 0x101139c0
mov esi, ebx
xor ebx, ebx
mov edx, esi
shl ecx, 6
mov esi, 0x2600
or ecx, ebx
cmp al, 0xf0
jb 0x1011399a
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
je 0x101139a5
movzx eax, byte [edx]
inc edx
mov edi, edx
and eax, 0x3f
jmp 0x101139a9
mov ebx, dword [esp + 0x7c]
shl ebp, 0xc
or ecx, ebp
jmp 0x101139c0
xor eax, eax
mov edx, ebx
and ebp, 7
shl ecx, 6
shl ebp, 0x12
or ecx, ebp
or ecx, eax
cmp ecx, 0x110000
je 0x10113a0c
nop
cmp ecx, 0xd
jbe 0x10113910
cmp ecx, 0x110000
je 0x10113919
cmp ecx, 0x3e
jg 0x10113ad4
cmp ecx, 0x23
je 0x10113f0f
cmp ecx, 0x2f
mov esi, dword [esp]
je 0x10113ae9
mov edi, dword [esp + 0x84]
cmp dword [edi + 0x34], 1
jne 0x10113f7a
lea eax, [edi + 0x38]
jmp 0x10113f83
mov edi, dword [esp + 0x84]
cmp dword [edi + 0x3c], 1
jne 0x10113a41
mov ebx, dword [edi + 0x40]
mov ebp, dword [edi]
mov esi, dword [esp]
test ebx, ebx
je 0x10113a49
mov edx, dword [edi + 8]
cmp edx, ebx
je 0x10113a49
jbe 0x10113a35
cmp byte [ebp + ebx], 0xbf
jg 0x10113a49
mov ecx, ebp
push 0x103c9354
jmp 0x1011460f
mov ebp, dword [edi]
mov ebx, dword [edi + 8]
mov esi, dword [esp]
mov ecx, esi
mov edx, ebx
call fcn.10116f60
mov eax, dword [esi]
add eax, dword [esi + 8]
push ebx
push ebp
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, dword [esi + 8]
mov ecx, dword [esp + 8]
mov eax, dword [edi + 0xc]
movsd xmm1, qword [edi + 0x24]
mov dword [esi + 8], ebx
mov dword [ecx + 0xc], ebx
movsd xmm0, qword [esi]
movsd qword [ecx + 4], xmm0
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x10]
movsd xmm0, qword [edi + 0x1c]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x18], eax
mov eax, dword [edi + 0x18]
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 0x2c]
movsd qword [ecx + 0x28], xmm1
movsd qword [ecx + 0x20], xmm0
mov dword [ecx + 0x30], eax
mov eax, dword [edi + 0x30]
mov dword [ecx + 0x34], eax
mov eax, dword [edi + 0x34]
mov dword [ecx + 0x38], eax
mov eax, dword [edi + 0x38]
mov dword [ecx + 0x3c], eax
mov eax, dword [edi + 0x44]
mov dword [ecx + 0x40], 0
mov dword [ecx + 0x48], eax
mov byte [ecx], 0
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret
cmp ecx, 0x3f
je 0x10113f65
cmp ecx, 0x5c
mov esi, dword [esp]
jne 0x101139f3
mov edx, dword [esp + 0x78]
mov esi, 0x2600
mov dword [esp + 4], 0
mov dword [esp + 0x34], edx
jmp 0x10113b0e
mov ecx, eax
cmp ecx, 0x110000
jne 0x10113bdc
cmp edx, ebx
je 0x10113bf1
movzx ebx, byte [edx]
lea ebp, [edx + 1]
movzx ecx, bl
test bl, bl
js 0x10113b30
mov ebx, dword [esp + 0x7c]
mov edx, ebp
mov eax, ecx
jmp 0x10113bc0
mov esi, dword [esp + 0x7c]
cmp ebp, esi
je 0x10113b46
movzx eax, byte [edx + 1]
add edx, 2
mov ebp, edx
and eax, 0x3f
jmp 0x10113b4a
xor eax, eax
mov edx, esi
and ecx, 0x1f
cmp bl, 0xdf
jbe 0x10113b65
mov esi, dword [esp + 0x7c]
cmp edx, esi
je 0x10113b6a
movzx esi, byte [edx]
inc edx
mov ebp, edx
and esi, 0x3f
jmp 0x10113b6e
shl ecx, 6
jmp 0x10113b8e
mov edx, esi
xor esi, esi
shl eax, 6
or eax, esi
cmp bl, 0xf0
jb 0x10113b8b
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
je 0x10113b9b
movzx esi, byte [edx]
inc edx
mov ebp, edx
and esi, 0x3f
jmp 0x10113b9f
shl ecx, 0xc
mov ebx, dword [esp + 0x7c]
or eax, ecx
mov esi, 0x2600
jmp 0x10113bc0
xor esi, esi
mov edx, ebx
and ecx, 7
shl eax, 6
shl ecx, 0x12
or eax, ecx
or eax, esi
mov esi, 0x2600
cmp eax, 0x110000
je 0x10113bf1
nop dword [eax]
cmp eax, 0xd
ja 0x10113b00
mov ecx, 0x110000
bt esi, eax
jb 0x10113b02
jmp 0x10113b00
cmp ecx, 0x5c
je 0x10113be6
cmp ecx, 0x2f
jne 0x10113bf1
inc dword [esp + 4]
mov edx, ebp
jmp 0x10113afa
cmp dword [esp + 4], 1
jbe 0x10113da5
mov esi, dword [esp]
mov edi, dword [esp + 0x84]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x10114275
mov ecx, dword [esi + 0x1c]
xor edx, edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 4], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0xc]
call fcn.10116f60
mov ebp, dword [esp + 0x78]
mov esi, 0x2600
cmp ebp, dword [esp + 0x7c]
jne 0x10113c78
jmp 0x10113d78
mov ebx, eax
cmp ebx, 0x110000
jne 0x10113d3c
cmp ebp, dword [esp + 0x7c]
je 0x10113d78
movzx edx, byte [ebp]
lea ecx, [ebp + 1]
movzx eax, dl
test dl, dl
js 0x10113c90
mov ebp, ecx
jmp 0x10113d20
mov ebx, dword [esp + 0x7c]
cmp ecx, ebx
je 0x10113ca4
movzx ecx, byte [ebp + 1]
add ebp, 2
and ecx, 0x3f
jmp 0x10113ca8
xor ecx, ecx
mov ebp, ebx
and eax, 0x1f
cmp dl, 0xdf
jbe 0x10113cbe
cmp ebp, ebx
je 0x10113cc5
movzx edi, byte [ebp]
inc ebp
and edi, 0x3f
jmp 0x10113cc9
shl eax, 6
or eax, ecx
jmp 0x10113d20
xor edi, edi
mov ebp, ebx
shl ecx, 6
or ecx, edi
cmp dl, 0xf0
jb 0x10113ce8
mov edi, dword [esp + 0x84]
cmp ebp, ebx
je 0x10113cf6
movzx edx, byte [ebp]
inc ebp
and edx, 0x3f
jmp 0x10113cfa
mov edi, dword [esp + 0x84]
shl eax, 0xc
or eax, ecx
jmp 0x10113d20
xor edx, edx
mov ebp, ebx
and eax, 7
shl ecx, 6
shl eax, 0x12
or ecx, eax
or ecx, edx
cmp ecx, 0x110000
mov eax, ecx
je 0x10113d78
nop word cs:[eax + eax]
nop
cmp eax, 0xd
ja 0x10113c60
mov ebx, 0x110000
bt esi, eax
jb 0x10113c62
jmp 0x10113c60
cmp ebx, 0x5c
je 0x10113d46
cmp ebx, 0x2f
jne 0x10113d78
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x10]
jne 0x10113d62
lea ecx, [esp + 0xc]
mov edx, 1
call fcn.10116f60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov byte [ecx + eax], bl
inc eax
mov dword [esp + 0x14], eax
cmp ebp, dword [esp + 0x7c]
jne 0x10113c78
mov esi, dword [esp + 0xc]
cmp dword [esp + 0x14], 2
mov bl, 1
jne 0x10114248
cmp esi, 0x103c92ae
je 0x10114246
movzx eax, word [esi]
cmp eax, 0x2f2f
setne bl
jmp 0x10114248
mov eax, dword [esp + 0x84]
mov esi, dword [esp]
mov ebp, dword [eax + 0x30]
mov ecx, dword [eax]
test ebp, ebp
je 0x10113dd6
mov eax, dword [esp + 0x84]
mov edx, dword [eax + 8]
cmp edx, ebp
je 0x10113dd6
jbe 0x1011461c
cmp byte [ecx + ebp], 0xbf
jle 0x1011461c
mov dword [esp + 4], ecx
mov ecx, esi
mov edx, ebp
call fcn.10116f60
mov eax, dword [esi]
add eax, dword [esi + 8]
push ebp
push dword [esp + 8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 8]
add eax, ebp
mov dword [esi + 8], eax
cmp eax, dword [esi + 4]
jne 0x10113e12
mov ecx, esi
mov edx, 1
call fcn.10116f60
mov eax, dword [esi + 8]
mov ecx, dword [esi]
movzx edx, byte [esp + 0x80]
mov byte [ecx + eax], 0x2f
inc dword [esi + 8]
mov byte [esp + 0xc], 1
lea eax, [esp + 0xc]
mov dword [esp + 4], edx
mov ecx, esi
push ebx
push edi
push ebp
push eax
call fcn.10110ee0
add esp, 0x10
mov ebx, edx
mov edx, dword [esp + 0x84]
mov ecx, dword [esi + 0x20]
movsd xmm0, qword [esi + 0x18]
movsd xmm1, qword [esi + 8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0x10]
movsd qword [esp + 0x24], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [esp + 0x14], xmm1
movsd xmm1, qword [edx + 0x24]
mov ebp, dword [edx + 0xc]
mov edi, dword [edx + 0x18]
mov dword [esp + 0x30], ecx
mov ecx, dword [edx + 0x14]
movsd qword [esp + 0x1c], xmm0
movsd xmm0, qword [esi]
mov esi, dword [edx + 0x30]
movsd qword [esp + 0x58], xmm1
mov dword [esp + 0x38], ecx
mov ecx, dword [edx + 0x2c]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [edx + 0x1c]
mov dword [esp + 0x60], ecx
movzx ecx, word [edx + 0x44]
movsd qword [esp + 0x50], xmm0
mov word [esp], cx
movzx ecx, word [edx + 0x46]
lea edx, [esp + 0xc]
mov word [esp + 0x34], cx
lea ecx, [esp + 0x3c]
push ebx
push eax
push ebp
push dword [esp + 0x10]
call fcn.101121a0
add esp, 0x10
cmp byte [esp + 0x3c], 1
je 0x1011455e
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x14]
movsd xmm0, qword [esp + 0xc]
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov dword [ecx + 0xc], eax
movsd qword [ecx + 4], xmm0
mov dword [ecx + 0x10], ebp
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x1c], edi
jmp 0x101145b8
mov ecx, dword [esp]
lea edx, [esp + 0xc]
movsd xmm1, qword [ecx + 0x10]
mov eax, dword [ecx + 0x20]
movsd xmm0, qword [ecx + 0x18]
movsd xmm2, qword [ecx]
movsd qword [esp + 0x1c], xmm1
movsd xmm1, qword [ecx + 8]
mov ecx, dword [esp + 8]
mov dword [esp + 0x2c], eax
movsd qword [esp + 0x24], xmm0
movsd qword [esp + 0xc], xmm2
movsd qword [esp + 0x14], xmm1
push ebx
push dword [esp + 0x7c]
push dword [esp + 0x8c]
call fcn.10114630
add esp, 0xc
jmp 0x10113acc
mov edi, dword [esp + 0x84]
cmp dword [edi + 0x34], 1
jne 0x10113f9d
mov esi, dword [esp]
lea eax, [edi + 0x38]
jmp 0x10113fad
cmp dword [edi + 0x3c], 1
jne 0x10113fd8
lea eax, [edi + 0x40]
mov ebx, dword [eax]
mov ebp, dword [edi]
test ebx, ebx
je 0x10113fdd
mov edx, dword [edi + 8]
cmp edx, ebx
je 0x10113fdd
jbe 0x10113fd1
cmp byte [ebp + ebx], 0xbf
jg 0x10113fdd
jmp 0x10113fd1
cmp dword [edi + 0x3c], 1
mov esi, dword [esp]
jne 0x10114165
lea eax, [edi + 0x40]
mov ebx, dword [eax]
mov ebp, dword [edi]
test ebx, ebx
je 0x1011416a
mov edx, dword [edi + 8]
cmp edx, ebx
je 0x1011416a
jbe 0x10113fd1
cmp byte [ebp + ebx], 0xbf
jg 0x1011416a
mov ecx, ebp
jmp 0x1011460a
mov ebp, dword [edi]
mov ebx, dword [edi + 8]
mov ecx, esi
mov edx, ebx
call fcn.10116f60
mov eax, dword [esi]
add eax, dword [esi + 8]
push ebx
push ebp
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx ebp, byte [esp + 0x80]
add dword [esi + 8], ebx
mov ecx, esi
mov edx, ebp
push dword [edi + 0x30]
call fcn.10114f60
add esp, 4
mov ebx, dword [esi + 8]
mov eax, dword [esp + 0x78]
mov dword [esp + 4], ebp
cmp ebx, dword [edi + 0x30]
jne 0x101143b8
mov eax, dword [edi + 0xc]
mov ecx, dword [edi]
test eax, eax
je 0x10114044
mov edx, dword [edi + 8]
cmp edx, eax
je 0x10114044
jbe 0x10114624
cmp byte [ecx + eax], 0xbf
jle 0x10114624
mov edx, eax
call fcn.1010f080
cmp al, 2
jne 0x1011413c
mov ecx, dword [esp + 0x78]
mov esi, 0x2600
jmp 0x10114072
mov eax, edx
mov edi, dword [esp + 0x84]
cmp eax, 0x110000
jne 0x1011413c
cmp ecx, dword [esp + 0x7c]
je 0x1011423d
movzx eax, byte [ecx]
lea edi, [ecx + 1]
movzx edx, al
test al, al
js 0x10114090
mov ecx, edi
jmp 0x10114120
mov esi, dword [esp + 0x7c]
cmp edi, esi
je 0x101140a4
movzx ebp, byte [ecx + 1]
add ecx, 2
and ebp, 0x3f
jmp 0x101140a8
xor ebp, ebp
mov ecx, esi
and edx, 0x1f
cmp al, 0xdf
jbe 0x101140c0
mov esi, dword [esp + 0x7c]
cmp ecx, esi
je 0x101140c5
movzx edi, byte [ecx]
inc ecx
and edi, 0x3f
jmp 0x101140c9
shl edx, 6
jmp 0x101140e6
xor edi, edi
mov ecx, esi
shl ebp, 6
or ebp, edi
cmp al, 0xf0
jb 0x101140e3
mov esi, dword [esp + 0x7c]
cmp ecx, esi
je 0x101140f3
movzx eax, byte [ecx]
inc ecx
and eax, 0x3f
jmp 0x101140f7
shl edx, 0xc
or edx, ebp
mov ebp, dword [esp + 4]
mov esi, 0x2600
jmp 0x10114120
xor eax, eax
mov ecx, esi
and edx, 7
shl ebp, 6
mov esi, 0x2600
shl edx, 0x12
or ebp, edx
or ebp, eax
cmp ebp, 0x110000
mov edx, ebp
mov ebp, dword [esp + 4]
je 0x1011438f
nop dword [eax + eax]
cmp edx, 0xd
ja 0x1011405e
mov eax, 0x110000
bt esi, edx
jb 0x10114060
jmp 0x1011405e
mov esi, dword [esp]
cmp ebx, dword [esi + 4]
jne 0x10114153
mov ecx, esi
mov edx, 1
call fcn.10116f60
mov ebx, dword [esi + 8]
mov eax, dword [esi]
mov byte [eax + ebx], 0x2f
inc dword [esi + 8]
mov eax, dword [esp + 0x78]
jmp 0x101143b8
mov ebp, dword [edi]
mov ebx, dword [edi + 8]
mov ecx, esi
mov edx, ebx
call fcn.10116f60
mov eax, dword [esi]
add eax, dword [esi + 8]
push ebx
push ebp
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [esi + 8], ebx
movzx eax, byte [esp + 0x80]
lea ecx, [esp + 0xc]
mov edx, esi
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push dword [edi + 0xc]
push eax
call fcn.101121a0
add esp, 0x10
cmp byte [esp + 0xc], 1
jne 0x101141ce
cmp dword [esi + 4], 0
mov al, byte [esp + 0xd]
mov ecx, dword [esp + 8]
mov byte [ecx + 1], al
mov byte [ecx], 1
je 0x10113acc
mov esi, dword [esi]
jmp 0x1011457b
mov eax, dword [esi + 8]
mov ecx, dword [esp + 8]
movsd xmm0, qword [esi]
movsd xmm1, qword [edi + 0x24]
mov dword [ecx + 0xc], eax
mov eax, dword [edi + 0xc]
movsd qword [ecx + 4], xmm0
movsd xmm0, qword [edi + 0x1c]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x18], eax
mov eax, dword [edi + 0x18]
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 0x2c]
movsd qword [ecx + 0x20], xmm0
movsd qword [ecx + 0x28], xmm1
mov dword [ecx + 0x30], eax
mov eax, dword [edi + 0x30]
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x3c], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x40], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 0x44], eax
mov eax, dword [edi + 0x44]
jmp 0x10113ac6
mov eax, dword [esp + 0x78]
jmp 0x101143b8
xor ebx, ebx
cmp dword [esp + 0x10], 0
je 0x1011425d
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp]
mov eax, dword [esp + 4]
test bl, bl
je 0x10114275
push 3
push eax
mov eax, dword [esp + 0x38]
call dword [eax + 0xc]
add esp, 8
mov ebp, dword [edi + 0xc]
mov ecx, dword [edi]
mov ebx, ebp
inc ebx
je 0x10114296
mov edx, dword [edi + 8]
cmp edx, ebx
je 0x10114296
jbe 0x1011460a
cmp byte [ecx + ebx], 0xbf
jle 0x1011460a
mov edi, ecx
mov ecx, esi
mov edx, ebx
call fcn.10116f60
mov eax, dword [esi]
add eax, dword [esi + 8]
push ebx
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
add dword [esi + 8], ebx
mov ecx, 0x103c92ae
mov edx, 2
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x10], edi
push eax
call fcn.1010f170
add esp, 4
mov esi, dword [esp + 0xc]
test esi, esi
je 0x10114336
test al, al
je 0x10114336
mov edx, dword [esp]
mov eax, dword [esp + 0x10]
movzx edi, byte [esp + 0x80]
mov ecx, dword [edx + 0x20]
movsd xmm1, qword [edx + 0x10]
movsd xmm0, qword [edx + 0x18]
movsd xmm2, qword [edx]
mov dword [esp + 0x2c], ecx
movsd qword [esp + 0x1c], xmm1
movsd xmm1, qword [edx + 8]
mov ecx, dword [esp + 8]
lea edx, [esp + 0xc]
movsd qword [esp + 0x24], xmm0
movsd qword [esp + 0xc], xmm2
movsd qword [esp + 0x14], xmm1
push ebp
push edi
push eax
push esi
jmp 0x10114382
mov ecx, dword [esp]
lea edx, [esp + 0xc]
movsd xmm1, qword [ecx + 0x10]
mov eax, dword [ecx + 0x20]
movsd xmm0, qword [ecx + 0x18]
movsd xmm2, qword [ecx]
movsd qword [esp + 0x1c], xmm1
movsd xmm1, qword [ecx + 8]
mov ecx, dword [esp + 8]
mov dword [esp + 0x2c], eax
movzx eax, byte [esp + 0x80]
movsd qword [esp + 0x24], xmm0
movsd qword [esp + 0xc], xmm2
movsd qword [esp + 0x14], xmm1
push ebp
push eax
push edi
push dword [esp + 0x40]
call fcn.1010f3c0
add esp, 0x10
jmp 0x10113acc
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x84]
jmp 0x101143b8
mov edx, 0x2600
bt edx, ecx
jae 0x10114479
cmp eax, dword [esp + 0x7c]
je 0x101144a1
movzx ebx, byte [eax]
lea esi, [eax + 1]
movzx edx, bl
test bl, bl
js 0x101143d0
mov eax, esi
mov ecx, edx
jmp 0x10114470
mov ebp, dword [esp + 0x7c]
cmp esi, ebp
je 0x101143e6
movzx ecx, byte [eax + 1]
add eax, 2
mov esi, eax
and ecx, 0x3f
jmp 0x101143ea
xor ecx, ecx
mov eax, ebp
and edx, 0x1f
cmp bl, 0xdf
jbe 0x10114405
mov ebp, dword [esp + 0x7c]
cmp eax, ebp
je 0x10114410
movzx edi, byte [eax]
inc eax
mov esi, eax
and edi, 0x3f
jmp 0x10114414
mov ebp, dword [esp + 4]
shl edx, 6
or ecx, edx
jmp 0x10114470
xor edi, edi
mov eax, ebp
mov ebp, dword [esp + 4]
shl ecx, 6
or ecx, edi
cmp bl, 0xf0
jb 0x10114435
mov ebx, dword [esp + 0x7c]
cmp eax, ebx
je 0x10114443
movzx edi, byte [eax]
inc eax
mov esi, eax
and edi, 0x3f
jmp 0x10114447
mov edi, dword [esp + 0x84]
shl edx, 0xc
or ecx, edx
jmp 0x10114470
xor edi, edi
mov eax, ebx
and edx, 7
shl ecx, 6
shl edx, 0x12
or ecx, edx
or ecx, edi
mov edi, dword [esp + 0x84]
cmp ecx, 0x110000
je 0x101144a1
nop word [eax + eax]
cmp ecx, 0xd
jbe 0x101143a0
cmp ecx, 0x110000
je 0x101143ae
cmp ecx, 0x2f
jne 0x101144a1
mov ecx, dword [esp]
lea eax, [esp + 0xc]
mov edx, ebp
mov byte [esp + 0xc], 1
push dword [esp + 0x7c]
push esi
mov esi, ecx
jmp 0x101144b9
mov esi, dword [esp]
lea eax, [esp + 0xc]
mov edx, ebp
mov byte [esp + 0xc], 1
mov ecx, esi
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push dword [edi + 0x30]
push eax
call fcn.10110ee0
add esp, 0x10
mov ecx, dword [esi + 0x20]
mov ebp, edx
mov edx, edi
movsd xmm0, qword [esi + 0x18]
movsd xmm1, qword [esi + 8]
mov ebx, dword [edi + 0xc]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edi + 0x10]
movsd qword [esp + 0x24], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [esp + 0x14], xmm1
movsd xmm1, qword [edx + 0x24]
mov edi, dword [edi + 0x14]
mov dword [esp + 0x30], ecx
mov ecx, dword [edx + 0x18]
movsd qword [esp + 0x1c], xmm0
movsd xmm0, qword [esi]
mov esi, dword [edx + 0x30]
movsd qword [esp + 0x58], xmm1
mov dword [esp + 0x38], ecx
mov ecx, dword [edx + 0x2c]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [edx + 0x1c]
mov dword [esp + 0x60], ecx
movzx ecx, word [edx + 0x44]
movsd qword [esp + 0x50], xmm0
mov word [esp], cx
movzx ecx, word [edx + 0x46]
lea edx, [esp + 0xc]
mov word [esp + 0x34], cx
lea ecx, [esp + 0x3c]
push ebp
push eax
push ebx
push dword [esp + 0x10]
call fcn.101121a0
add esp, 0x10
cmp byte [esp + 0x3c], 1
jne 0x1011458e
cmp dword [esp + 0x10], 0
mov al, byte [esp + 0x3d]
mov ecx, dword [esp + 8]
mov byte [ecx + 1], al
mov byte [ecx], 1
je 0x10113acc
mov esi, dword [esp + 0xc]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
jmp 0x10113acc
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
movsd xmm0, qword [esp + 0xc]
mov edx, dword [esp + 0x38]
mov dword [ecx + 0xc], eax
movsd qword [ecx + 4], xmm0
mov dword [ecx + 0x10], ebx
mov ebx, dword [esp + 0x30]
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x1c], edx
mov eax, dword [esp + 0x60]
movsd xmm0, qword [esp + 0x50]
movsd xmm1, qword [esp + 0x58]
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
movzx edx, word [esp + 0x34]
mov dword [ecx + 0x30], eax
movsd qword [ecx + 0x20], xmm0
movsd qword [ecx + 0x28], xmm1
mov dword [ecx + 0x34], esi
mov dword [ecx + 0x38], ebx
mov dword [ecx + 0x3c], edi
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
movzx esi, word [esp]
mov dword [ecx + 0x40], ebx
mov dword [ecx + 0x44], edi
mov word [ecx + 0x48], si
mov word [ecx + 0x4a], dx
jmp 0x10113ac9
push 0x103c91fc
push ebx
push 0
call fcn.10009090
add esp, 0xc
ud2
push 0x103c91fc
push ebp
jmp 0x10114610
push 0x103c91fc
push eax
jmp 0x10114610