Function at 0x10113600
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 0x1011372c
mov edx, dword [esp + 0x78]
mov esi, 0x2600
jmp 0x10113641
bt esi, ecx
jae 0x101136e9
cmp edx, ebx
je 0x1011372c
movzx eax, byte [edx]
lea edi, [edx + 1]
movzx ebp, al
test al, al
js 0x10113660
mov edx, edi
mov ecx, ebp
jmp 0x101136e0
cmp edi, ebx
je 0x10113672
movzx ecx, byte [edx + 1]
add edx, 2
mov edi, edx
and ecx, 0x3f
jmp 0x10113676
xor ecx, ecx
mov edx, ebx
and ebp, 0x1f
cmp al, 0xdf
jbe 0x1011368c
cmp edx, ebx
je 0x10113693
movzx ebx, byte [edx]
inc edx
mov edi, edx
and ebx, 0x3f
jmp 0x10113699
shl ebp, 6
or ecx, ebp
jmp 0x101136e0
mov esi, ebx
xor ebx, ebx
mov edx, esi
shl ecx, 6
mov esi, 0x2600
or ecx, ebx
cmp al, 0xf0
jb 0x101136ba
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
je 0x101136c5
movzx eax, byte [edx]
inc edx
mov edi, edx
and eax, 0x3f
jmp 0x101136c9
mov ebx, dword [esp + 0x7c]
shl ebp, 0xc
or ecx, ebp
jmp 0x101136e0
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 0x1011372c
nop
cmp ecx, 0xd
jbe 0x10113630
cmp ecx, 0x110000
je 0x10113639
cmp ecx, 0x3e
jg 0x101137f4
cmp ecx, 0x23
je 0x10113c2f
cmp ecx, 0x2f
mov esi, dword [esp]
je 0x10113809
mov edi, dword [esp + 0x84]
cmp dword [edi + 0x34], 1
jne 0x10113c9a
lea eax, [edi + 0x38]
jmp 0x10113ca3
mov edi, dword [esp + 0x84]
cmp dword [edi + 0x3c], 1
jne 0x10113761
mov ebx, dword [edi + 0x40]
mov ebp, dword [edi]
mov esi, dword [esp]
test ebx, ebx
je 0x10113769
mov edx, dword [edi + 8]
cmp edx, ebx
je 0x10113769
jbe 0x10113755
cmp byte [ebp + ebx], 0xbf
jg 0x10113769
mov ecx, ebp
push 0x1044a5c4
jmp 0x1011432f
mov ebp, dword [edi]
mov ebx, dword [edi + 8]
mov esi, dword [esp]
mov ecx, esi
mov edx, ebx
call fcn.10116c80
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 0x10113c85
cmp ecx, 0x5c
mov esi, dword [esp]
jne 0x10113713
mov edx, dword [esp + 0x78]
mov esi, 0x2600
mov dword [esp + 4], 0
mov dword [esp + 0x34], edx
jmp 0x1011382e
mov ecx, eax
cmp ecx, 0x110000
jne 0x101138fc
cmp edx, ebx
je 0x10113911
movzx ebx, byte [edx]
lea ebp, [edx + 1]
movzx ecx, bl
test bl, bl
js 0x10113850
mov ebx, dword [esp + 0x7c]
mov edx, ebp
mov eax, ecx
jmp 0x101138e0
mov esi, dword [esp + 0x7c]
cmp ebp, esi
je 0x10113866
movzx eax, byte [edx + 1]
add edx, 2
mov ebp, edx
and eax, 0x3f
jmp 0x1011386a
xor eax, eax
mov edx, esi
and ecx, 0x1f
cmp bl, 0xdf
jbe 0x10113885
mov esi, dword [esp + 0x7c]
cmp edx, esi
je 0x1011388a
movzx esi, byte [edx]
inc edx
mov ebp, edx
and esi, 0x3f
jmp 0x1011388e
shl ecx, 6
jmp 0x101138ae
mov edx, esi
xor esi, esi
shl eax, 6
or eax, esi
cmp bl, 0xf0
jb 0x101138ab
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
je 0x101138bb
movzx esi, byte [edx]
inc edx
mov ebp, edx
and esi, 0x3f
jmp 0x101138bf
shl ecx, 0xc
mov ebx, dword [esp + 0x7c]
or eax, ecx
mov esi, 0x2600
jmp 0x101138e0
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 0x10113911
nop dword [eax]
cmp eax, 0xd
ja 0x10113820
mov ecx, 0x110000
bt esi, eax
jb 0x10113822
jmp 0x10113820
cmp ecx, 0x5c
je 0x10113906
cmp ecx, 0x2f
jne 0x10113911
inc dword [esp + 4]
mov edx, ebp
jmp 0x1011381a
cmp dword [esp + 4], 1
jbe 0x10113ac5
mov esi, dword [esp]
mov edi, dword [esp + 0x84]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x10113f95
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.10116c80
mov ebp, dword [esp + 0x78]
mov esi, 0x2600
cmp ebp, dword [esp + 0x7c]
jne 0x10113998
jmp 0x10113a98
mov ebx, eax
cmp ebx, 0x110000
jne 0x10113a5c
cmp ebp, dword [esp + 0x7c]
je 0x10113a98
movzx edx, byte [ebp]
lea ecx, [ebp + 1]
movzx eax, dl
test dl, dl
js 0x101139b0
mov ebp, ecx
jmp 0x10113a40
mov ebx, dword [esp + 0x7c]
cmp ecx, ebx
je 0x101139c4
movzx ecx, byte [ebp + 1]
add ebp, 2
and ecx, 0x3f
jmp 0x101139c8
xor ecx, ecx
mov ebp, ebx
and eax, 0x1f
cmp dl, 0xdf
jbe 0x101139de
cmp ebp, ebx
je 0x101139e5
movzx edi, byte [ebp]
inc ebp
and edi, 0x3f
jmp 0x101139e9
shl eax, 6
or eax, ecx
jmp 0x10113a40
xor edi, edi
mov ebp, ebx
shl ecx, 6
or ecx, edi
cmp dl, 0xf0
jb 0x10113a08
mov edi, dword [esp + 0x84]
cmp ebp, ebx
je 0x10113a16
movzx edx, byte [ebp]
inc ebp
and edx, 0x3f
jmp 0x10113a1a
mov edi, dword [esp + 0x84]
shl eax, 0xc
or eax, ecx
jmp 0x10113a40
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 0x10113a98
nop word cs:[eax + eax]
nop
cmp eax, 0xd
ja 0x10113980
mov ebx, 0x110000
bt esi, eax
jb 0x10113982
jmp 0x10113980
cmp ebx, 0x5c
je 0x10113a66
cmp ebx, 0x2f
jne 0x10113a98
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x10]
jne 0x10113a82
lea ecx, [esp + 0xc]
mov edx, 1
call fcn.10116c80
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 0x10113998
mov esi, dword [esp + 0xc]
cmp dword [esp + 0x14], 2
mov bl, 1
jne 0x10113f68
cmp esi, 0x1044a51e
je 0x10113f66
movzx eax, word [esi]
cmp eax, 0x2f2f
setne bl
jmp 0x10113f68
mov eax, dword [esp + 0x84]
mov esi, dword [esp]
mov ebp, dword [eax + 0x30]
mov ecx, dword [eax]
test ebp, ebp
je 0x10113af6
mov eax, dword [esp + 0x84]
mov edx, dword [eax + 8]
cmp edx, ebp
je 0x10113af6
jbe 0x1011433c
cmp byte [ecx + ebp], 0xbf
jle 0x1011433c
mov dword [esp + 4], ecx
mov ecx, esi
mov edx, ebp
call fcn.10116c80
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 0x10113b32
mov ecx, esi
mov edx, 1
call fcn.10116c80
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.10110c00
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.10111ec0
add esp, 0x10
cmp byte [esp + 0x3c], 1
je 0x1011427e
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 0x101142d8
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.10114350
add esp, 0xc
jmp 0x101137ec
mov edi, dword [esp + 0x84]
cmp dword [edi + 0x34], 1
jne 0x10113cbd
mov esi, dword [esp]
lea eax, [edi + 0x38]
jmp 0x10113ccd
cmp dword [edi + 0x3c], 1
jne 0x10113cf8
lea eax, [edi + 0x40]
mov ebx, dword [eax]
mov ebp, dword [edi]
test ebx, ebx
je 0x10113cfd
mov edx, dword [edi + 8]
cmp edx, ebx
je 0x10113cfd
jbe 0x10113cf1
cmp byte [ebp + ebx], 0xbf
jg 0x10113cfd
jmp 0x10113cf1
cmp dword [edi + 0x3c], 1
mov esi, dword [esp]
jne 0x10113e85
lea eax, [edi + 0x40]
mov ebx, dword [eax]
mov ebp, dword [edi]
test ebx, ebx
je 0x10113e8a
mov edx, dword [edi + 8]
cmp edx, ebx
je 0x10113e8a
jbe 0x10113cf1
cmp byte [ebp + ebx], 0xbf
jg 0x10113e8a
mov ecx, ebp
jmp 0x1011432a
mov ebp, dword [edi]
mov ebx, dword [edi + 8]
mov ecx, esi
mov edx, ebx
call fcn.10116c80
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.10114c80
add esp, 4
mov ebx, dword [esi + 8]
mov eax, dword [esp + 0x78]
mov dword [esp + 4], ebp
cmp ebx, dword [edi + 0x30]
jne 0x101140d8
mov eax, dword [edi + 0xc]
mov ecx, dword [edi]
test eax, eax
je 0x10113d64
mov edx, dword [edi + 8]
cmp edx, eax
je 0x10113d64
jbe 0x10114344
cmp byte [ecx + eax], 0xbf
jle 0x10114344
mov edx, eax
call fcn.1010eda0
cmp al, 2
jne 0x10113e5c
mov ecx, dword [esp + 0x78]
mov esi, 0x2600
jmp 0x10113d92
mov eax, edx
mov edi, dword [esp + 0x84]
cmp eax, 0x110000
jne 0x10113e5c
cmp ecx, dword [esp + 0x7c]
je 0x10113f5d
movzx eax, byte [ecx]
lea edi, [ecx + 1]
movzx edx, al
test al, al
js 0x10113db0
mov ecx, edi
jmp 0x10113e40
mov esi, dword [esp + 0x7c]
cmp edi, esi
je 0x10113dc4
movzx ebp, byte [ecx + 1]
add ecx, 2
and ebp, 0x3f
jmp 0x10113dc8
xor ebp, ebp
mov ecx, esi
and edx, 0x1f
cmp al, 0xdf
jbe 0x10113de0
mov esi, dword [esp + 0x7c]
cmp ecx, esi
je 0x10113de5
movzx edi, byte [ecx]
inc ecx
and edi, 0x3f
jmp 0x10113de9
shl edx, 6
jmp 0x10113e06
xor edi, edi
mov ecx, esi
shl ebp, 6
or ebp, edi
cmp al, 0xf0
jb 0x10113e03
mov esi, dword [esp + 0x7c]
cmp ecx, esi
je 0x10113e13
movzx eax, byte [ecx]
inc ecx
and eax, 0x3f
jmp 0x10113e17
shl edx, 0xc
or edx, ebp
mov ebp, dword [esp + 4]
mov esi, 0x2600
jmp 0x10113e40
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 0x101140af
nop dword [eax + eax]
cmp edx, 0xd
ja 0x10113d7e
mov eax, 0x110000
bt esi, edx
jb 0x10113d80
jmp 0x10113d7e
mov esi, dword [esp]
cmp ebx, dword [esi + 4]
jne 0x10113e73
mov ecx, esi
mov edx, 1
call fcn.10116c80
mov ebx, dword [esi + 8]
mov eax, dword [esi]
mov byte [eax + ebx], 0x2f
inc dword [esi + 8]
mov eax, dword [esp + 0x78]
jmp 0x101140d8
mov ebp, dword [edi]
mov ebx, dword [edi + 8]
mov ecx, esi
mov edx, ebx
call fcn.10116c80
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.10111ec0
add esp, 0x10
cmp byte [esp + 0xc], 1
jne 0x10113eee
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 0x101137ec
mov esi, dword [esi]
jmp 0x1011429b
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 0x101137e6
mov eax, dword [esp + 0x78]
jmp 0x101140d8
xor ebx, ebx
cmp dword [esp + 0x10], 0
je 0x10113f7d
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 0x10113f95
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 0x10113fb6
mov edx, dword [edi + 8]
cmp edx, ebx
je 0x10113fb6
jbe 0x1011432a
cmp byte [ecx + ebx], 0xbf
jle 0x1011432a
mov edi, ecx
mov ecx, esi
mov edx, ebx
call fcn.10116c80
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, 0x1044a51e
mov edx, 2
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x10], edi
push eax
call fcn.1010ee90
add esp, 4
mov esi, dword [esp + 0xc]
test esi, esi
je 0x10114056
test al, al
je 0x10114056
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 0x101140a2
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.1010f0e0
add esp, 0x10
jmp 0x101137ec
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x84]
jmp 0x101140d8
mov edx, 0x2600
bt edx, ecx
jae 0x10114199
cmp eax, dword [esp + 0x7c]
je 0x101141c1
movzx ebx, byte [eax]
lea esi, [eax + 1]
movzx edx, bl
test bl, bl
js 0x101140f0
mov eax, esi
mov ecx, edx
jmp 0x10114190
mov ebp, dword [esp + 0x7c]
cmp esi, ebp
je 0x10114106
movzx ecx, byte [eax + 1]
add eax, 2
mov esi, eax
and ecx, 0x3f
jmp 0x1011410a
xor ecx, ecx
mov eax, ebp
and edx, 0x1f
cmp bl, 0xdf
jbe 0x10114125
mov ebp, dword [esp + 0x7c]
cmp eax, ebp
je 0x10114130
movzx edi, byte [eax]
inc eax
mov esi, eax
and edi, 0x3f
jmp 0x10114134
mov ebp, dword [esp + 4]
shl edx, 6
or ecx, edx
jmp 0x10114190
xor edi, edi
mov eax, ebp
mov ebp, dword [esp + 4]
shl ecx, 6
or ecx, edi
cmp bl, 0xf0
jb 0x10114155
mov ebx, dword [esp + 0x7c]
cmp eax, ebx
je 0x10114163
movzx edi, byte [eax]
inc eax
mov esi, eax
and edi, 0x3f
jmp 0x10114167
mov edi, dword [esp + 0x84]
shl edx, 0xc
or ecx, edx
jmp 0x10114190
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 0x101141c1
nop word [eax + eax]
cmp ecx, 0xd
jbe 0x101140c0
cmp ecx, 0x110000
je 0x101140ce
cmp ecx, 0x2f
jne 0x101141c1
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 0x101141d9
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.10110c00
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.10111ec0
add esp, 0x10
cmp byte [esp + 0x3c], 1
jne 0x101142ae
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 0x101137ec
mov esi, dword [esp + 0xc]
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
jmp 0x101137ec
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 0x101137e9
push 0x1044a46c
push ebx
push 0
call fcn.10008e00
add esp, 0xc
ud2
push 0x1044a46c
push ebp
jmp 0x10114330
push 0x1044a46c
push eax
jmp 0x10114330