Function at 0x69007b00
Capabilities:
Get process heap flags

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x58
mov eax, dword [ecx + 4]
test byte [0x6907a018], 8
mov ebx, dword [ecx]
mov dword [ebp - 0x2c], eax
jne 0x69007b48
test ebx, ebx
je 0x69007b80
mov esi, dword [ebp - 0x2c]
test esi, esi
je 0x69007b80
mov esi, dword [ebx]
cmp esi, 4
ja case.default.0x69007b3b
jmp dword [esi*4 + 0x6907c17c]
mov dword [esp + 0x14], eax
mov eax, str.GdipCloneBrush
mov edi, 0x6907c0e4
mov dword [esp + 8], eax
mov eax, 0x6907a018
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 4], eax
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0
test ebx, ebx
jne 0x69007b29
lea esi, [esi]
nop
mov edi, 2
lea esp, [ebp - 0x10]
mov eax, edi
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 8
mov ecx, 0x5c
mov edi, 8
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [ebp - 0x34], eax
call eax
mov edx, eax
mov eax, dword [ebp - 0x2c]
sub esp, 0xc
test edx, edx
mov dword [eax], edx
je 0x690083e1
test dl, 1
mov edi, edx
mov dword [ebp - 0x30], 0x5c
mov ecx, ebx
jne 0x69008500
test edi, 2
jne 0x690084e0
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], ebx
and eax, 0xfffffffc
mov dword [ebp - 0x38], eax
xor eax, eax
mov edx, dword [ebp - 0x38]
mov ebx, dword [ecx + eax]
mov dword [edi + eax], ebx
add eax, 4
cmp eax, edx
jb 0x69007c09
add edi, eax
add ecx, eax
mov edx, dword [ebp - 0x3c]
xor eax, eax
mov ebx, dword [ebp - 0x40]
test byte [ebp - 0x30], 2
je 0x69007c33
movzx eax, word [ecx]
mov word [edi], ax
mov eax, 2
test byte [ebp - 0x30], 1
je 0x69007c40
movzx ecx, byte [ecx + eax]
mov byte [edi + eax], cl
mov dword [ebp - 0x30], edx
lea eax, [edx + 4]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call sym.gdiplus.dll_GdipClonePath
mov edx, dword [ebp - 0x30]
mov edi, eax
sub esp, 8
xor eax, eax
test edi, edi
jne 0x690082a8
lea esi, [esi]
nop
mov ecx, dword [ebx + eax + 0x44]
mov dword [edx + eax + 0x44], ecx
add eax, 4
cmp eax, 0x18
jb 0x69007c70
mov dword [ebp - 0x38], edx
mov ecx, dword [ebx + 0x2c]
mov edi, dword fs:[0x18]
mov dword [edx + 0x2c], ecx
lea eax, [ecx*4]
mov ecx, 8
mov dword [esp + 4], ecx
mov edx, dword [ebp - 0x34]
mov dword [esp + 8], eax
mov dword [ebp - 0x30], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edx
mov edx, dword [ebp - 0x38]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 0x30]
sub esp, 0xc
mov edx, dword [ebp - 0x34]
mov dword [esp + 8], eax
mov eax, 8
mov dword [esp + 4], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edx
mov edx, dword [ebp - 0x38]
mov dword [edx + 0x28], eax
mov eax, dword [edx + 0x34]
sub esp, 0xc
mov edx, dword [ebp - 0x34]
shl eax, 2
mov dword [esp + 8], eax
mov eax, 8
mov dword [esp + 4], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edx
mov edx, dword [ebp - 0x38]
mov dword [edx + 0x30], eax
mov eax, dword [edx + 0x40]
sub esp, 0xc
mov dword [ebp - 0x38], eax
test eax, eax
je 0x69007d71
mov dword [ebp - 0x3c], edx
lea ecx, [eax*4]
mov eax, 8
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [ebp - 0x40], ecx
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x34]
call eax
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov dword [edx + 0x38], eax
sub esp, 0xc
mov edx, 8
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x34]
call eax
mov edx, dword [ebp - 0x3c]
mov dword [edx + 0x3c], eax
sub esp, 0xc
mov edi, dword [edx + 0x24]
test edi, edi
je 0x690083f0
mov eax, dword [edx + 0x28]
test eax, eax
je 0x690083f0
mov eax, dword [edx + 0x30]
test eax, eax
je 0x690083f0
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x69008228
mov eax, dword [edx + 0x38]
test eax, eax
je 0x690083f0
mov ecx, dword [edx + 0x3c]
test ecx, ecx
je 0x690083f0
mov eax, dword [ebp - 0x30]
mov esi, dword [ebx + 0x24]
cmp eax, 8
mov ecx, eax
jae 0x6900866c
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x30]
mov edi, dword [edx + 0x28]
mov esi, dword [ebx + 0x28]
cmp ecx, 8
jae 0x69008635
rep movsb byte es:[edi], byte [esi]
mov eax, dword [edx + 0x34]
mov edi, dword [edx + 0x30]
mov esi, dword [ebx + 0x30]
lea ecx, [eax*4]
cmp ecx, 8
jae 0x690085fe
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x38]
mov edi, dword [edx + 0x38]
mov esi, dword [ebx + 0x38]
shl eax, 2
mov dword [ebp - 0x30], eax
cmp eax, 8
jae 0x690085c6
mov ecx, dword [ebp - 0x30]
cmp eax, 8
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov edi, dword [edx + 0x3c]
mov esi, dword [ebx + 0x3c]
jae 0x69008268
rep movsb byte es:[edi], byte [esi]
jmp 0x69008071
mov esi, 0x54
mov edi, 8
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [ebp - 0x34], eax
call eax
mov dword [ebp - 0x30], eax
sub esp, 0xc
test eax, eax
je 0x690083e1
test al, 1
mov ecx, eax
mov dword [ebp - 0x38], 0x54
mov esi, ebx
jne 0x69008540
test cl, 2
jne 0x69008520
mov edi, dword [ebp - 0x38]
xor eax, eax
and edi, 0xfffffffc
mov edx, dword [esi + eax]
mov dword [ecx + eax], edx
add eax, 4
cmp eax, edi
jb 0x69007e8d
add ecx, eax
add esi, eax
xor eax, eax
test byte [ebp - 0x38], 2
je 0x69007eb1
movzx eax, word [esi]
mov word [ecx], ax
mov eax, 2
test byte [ebp - 0x38], 1
je 0x69007ebe
movzx edx, byte [esi + eax]
mov byte [ecx + eax], dl
mov eax, dword [ebp - 0x30]
mov edx, 8
mov esi, dword fs:[0x18]
mov eax, dword [eax + 0x2c]
mov dword [esp + 4], edx
lea edi, [eax*4]
mov dword [esp + 8], edi
mov dword [ebp - 0x3c], edi
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x34]
call eax
mov edx, dword [ebp - 0x30]
mov ecx, 8
mov dword [edx + 0x24], eax
sub esp, 0xc
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x34]
call eax
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x28], eax
mov eax, dword [edx + 0x38]
sub esp, 0xc
mov dword [ebp - 0x38], eax
test eax, eax
je 0x69007f76
lea edi, [eax*4]
mov eax, 8
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x34]
call eax
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x30], eax
sub esp, 0xc
mov eax, 8
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov eax, dword [ebp - 0x34]
call eax
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x34], eax
sub esp, 0xc
mov esi, dword [ebp - 0x30]
mov edi, dword [esi + 0x24]
test edi, edi
je 0x69008350
mov eax, dword [esi + 0x28]
test eax, eax
je 0x69008350
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x690082d0
mov eax, dword [esi + 0x30]
test eax, eax
je 0x69008350
mov ecx, dword [esi + 0x34]
xor eax, eax
mov edx, dword [ebp - 0x30]
test ecx, ecx
je 0x69008350
mov ecx, dword [ebx + eax + 0x3c]
mov dword [edx + eax + 0x3c], ecx
add eax, 4
cmp eax, 0x18
jb 0x69007fb5
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebx + 0x24]
cmp eax, 8
mov ecx, eax
jae 0x69008748
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov esi, dword [ebx + 0x28]
cmp ecx, 8
mov edi, dword [eax + 0x28]
jae 0x69008711
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x30]
mov esi, dword [ebx + 0x30]
shl eax, 2
cmp eax, 8
mov edi, dword [edx + 0x30]
mov ecx, eax
jae 0x690086da
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
cmp ecx, 8
mov eax, dword [ebp - 0x30]
mov esi, dword [ebx + 0x34]
mov edi, dword [eax + 0x34]
jae 0x69008310
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
mov dword [eax], edx
jmp 0x69008071
mov edx, 8
mov ecx, 8
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov esi, dword [ebp - 0x2c]
mov dword [esi], eax
sub esp, 0xc
test eax, eax
je 0x690083e1
mov ecx, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [eax], ecx
mov dword [eax + 4], ebx
xor edi, edi
test byte [0x6907a018], 8
je 0x69007b85
mov eax, dword [ebp - 0x2c]
mov edx, str.GdipCloneBrush
mov ecx, 0x6907a018
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], 3
mov dword [esp + 0x10], eax
mov eax, section..rdata
mov dword [esp + 0xc], eax
call sym._wine_dbg_log.constprop.0
jmp 0x69007b85
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 8], eax
mov eax, dword [ebx + 8]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
call sym.gdiplus.dll_GdipCreateHatchBrush
sub esp, 0x10
mov edi, eax
lea esp, [ebp - 0x10]
mov eax, edi
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 8
lea eax, [ebp - 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call sym.gdiplus.dll_GdipGetImageWidth
sub esp, 8
test eax, eax
mov edi, eax
jne 0x69007b85
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call sym.gdiplus.dll_GdipGetImageHeight
sub esp, 8
test eax, eax
mov edi, eax
jne 0x69007b85
pxor xmm0, xmm0
pxor xmm1, xmm1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
lea eax, [ebp - 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x1c]
movss xmm2, dword [0x6907d074]
movzx edx, ax
cvtsi2ss xmm1, edx
shr eax, 0x10
cvtsi2ss xmm0, eax
mov eax, dword [ebp - 0x20]
mulss xmm0, xmm2
movzx edx, ax
shr eax, 0x10
addss xmm0, xmm1
pxor xmm1, xmm1
cvtsi2ss xmm1, edx
movss dword [esp + 0x14], xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm2
addss xmm0, xmm1
movss dword [esp + 0x10], xmm0
mov eax, dword [ebx + 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call sym.gdiplus.dll_GdipCreateTextureIA
sub esp, 0x1c
test eax, eax
mov edi, eax
jne 0x690084d0
mov ecx, dword [ebp - 0x24]
xor eax, eax
mov edx, dword [ebx + eax + 4]
mov dword [ecx + eax + 4], edx
add eax, 4
cmp eax, 0x18
jb 0x690081bf
mov eax, dword [ebp - 0x2c]
mov dword [eax], ecx
jmp 0x69007b85
test byte [0x6907a018], 2
mov edi, 6
je 0x69007b85
mov dword [esp + 0x10], esi
mov ebx, str.not_implemented_for_brush_type__d_n
mov esi, str.GdipCloneBrush
mov dword [esp + 0xc], ebx
mov eax, 0x6907a018
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0
jmp 0x69007b85
mov eax, dword [ebp - 0x30]
mov esi, dword [ebx + 0x24]
cmp eax, 8
mov ecx, eax
jae 0x6900858f
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x30]
mov edi, dword [edx + 0x28]
mov esi, dword [ebx + 0x28]
cmp ecx, 8
jae 0x69008558
rep movsb byte es:[edi], byte [esi]
mov eax, dword [edx + 0x34]
mov edi, dword [edx + 0x30]
mov esi, dword [ebx + 0x30]
lea ecx, [eax*4]
cmp ecx, 8
jb 0x69007e23
test edi, 1
jne 0x69008794
test edi, 2
jne 0x6900877f
test edi, 4
je 0x69007e23
mov eax, dword [esi]
add edi, 4
add esi, 4
sub ecx, 4
mov dword [edi - 4], eax
rep movsb byte es:[edi], byte [esi]
jmp 0x69008071
mov dword [esp + 8], edx
xor edx, edx
mov dword [esp + 4], edx
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
jmp 0x69007b85
mov edx, dword [ebp - 0x30]
xor eax, eax
mov ecx, dword [ebx + eax + 0x3c]
mov dword [edx + eax + 0x3c], ecx
add eax, 4
cmp eax, 0x18
jb 0x690082d5
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebx + 0x24]
cmp eax, 8
mov ecx, eax
jae 0x690086a3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov esi, dword [ebx + 0x28]
cmp ecx, 8
mov edi, dword [eax + 0x28]
jb 0x69008022
test edi, 1
jne 0x690087b7
test edi, 2
jne 0x690087a2
test edi, 4
je 0x69008022
mov eax, dword [esi]
add edi, 4
add esi, 4
sub ecx, 4
mov dword [edi - 4], eax
jmp 0x69008022
mov dword [esp + 8], edi
xor eax, eax
mov ebx, dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 4], eax
mov esi, dword fs:[0x18]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov edi, dword [ebp - 0x30]
mov eax, dword [edi + 0x28]
sub esp, 0xc
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov eax, dword [edi + 0x30]
sub esp, 0xc
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov eax, dword [edi + 0x34]
sub esp, 0xc
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
xor edx, edx
sub esp, 0xc
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
sub esp, 0xc
mov edi, 3
jmp 0x69007b85
mov dword [ebp - 0x2c], edx
mov eax, dword [edx + 4]
mov edi, dword fs:[0x18]
mov dword [esp], eax
call sym.gdiplus.dll_GdipDeletePath
mov edx, dword [ebp - 0x2c]
mov ebx, dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [edx + 0x24]
sub esp, 4
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x28]
sub esp, 0xc
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x30]
sub esp, 0xc
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x38]
sub esp, 0xc
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x3c]
sub esp, 0xc
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov edx, dword [ebp - 0x2c]
sub esp, 0xc
mov dword [esp + 8], edx
xor edx, edx
mov dword [esp + 4], edx
mov eax, dword [edi + 0x30]
mov edi, esi
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
sub esp, 0xc
jmp 0x69007b85
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
jmp 0x69007b85
movzx eax, word [ecx]
add edi, 2
add ecx, 2
mov word [edi - 2], ax
sub dword [ebp - 0x30], 2
jmp 0x69007bf5
movzx eax, byte [ebx]
lea edi, [edx + 1]
lea ecx, [ebx + 1]
mov byte [edx], al
mov dword [ebp - 0x30], 0x5b
jmp 0x69007be9
movzx eax, word [esi]
add ecx, 2
add esi, 2
mov word [ecx - 2], ax
sub dword [ebp - 0x38], 2
jmp 0x69007e85
movzx eax, byte [ebx]
lea ecx, [ecx + 1]
lea esi, [ebx + 1]
mov byte [ecx - 1], al
mov dword [ebp - 0x38], 0x53
jmp 0x69007e7c
test edi, 1
jne 0x69008802
test edi, 2
jne 0x690087ed
test edi, 4
je 0x6900824d
mov eax, dword [esi]
add edi, 4
add esi, 4
sub ecx, 4
mov dword [edi - 4], eax
jmp 0x6900824d
test edi, 1
jne 0x690087da
test edi, 2
jne 0x690087c5
test edi, 4
je 0x69008239
mov eax, dword [esi]
add edi, 4
add esi, 4
sub ecx, 4
mov dword [edi - 4], eax
jmp 0x69008239
test edi, 1
jne 0x69008826
test edi, 2
jne 0x69008810
test edi, 4
je 0x69007e0d
mov ecx, dword [esi]
add edi, 4
add esi, 4
mov dword [edi - 4], ecx
sub dword [ebp - 0x30], 4
jmp 0x69007e0d
test edi, 1
jne 0x69008899
test edi, 2
jne 0x69008884
test edi, 4
je 0x69007df3
mov eax, dword [esi]
add edi, 4
add esi, 4
sub ecx, 4
mov dword [edi - 4], eax
jmp 0x69007df3
test edi, 1
jne 0x69008876
test edi, 2
jne 0x69008861
test edi, 4
je 0x69007dd8
mov eax, dword [esi]
add edi, 4
add esi, 4
sub ecx, 4
mov dword [edi - 4], eax
jmp 0x69007dd8
test edi, 1
jne 0x690088bc
test edi, 2
jne 0x690088a7
test edi, 4
je 0x69007dc4
mov eax, dword [esi]
add edi, 4
add esi, 4
sub ecx, 4
mov dword [edi - 4], eax
jmp 0x69007dc4
test edi, 1
jne 0x6900884e
test edi, 2
jne 0x69008839
test edi, 4
je 0x690082f9
mov eax, dword [esi]
add edi, 4
add esi, 4
sub ecx, 4
mov dword [edi - 4], eax
jmp 0x690082f9
test edi, 1
jne 0x6900892f
test edi, 2
jne 0x6900891a
test edi, 4
je 0x6900800c
mov edx, dword [esi]
add edi, 4
add esi, 4
sub ecx, 4
mov dword [edi - 4], edx
jmp 0x6900800c
test edi, 1
jne 0x6900890c
test edi, 2
jne 0x690088f7
test edi, 4
je 0x69007ff0
mov eax, dword [esi]
add edi, 4
add esi, 4
sub ecx, 4
mov dword [edi - 4], eax
jmp 0x69007ff0
test edi, 1
jne 0x690088e4
test edi, 2
jne 0x690088cf
test edi, 4
je 0x69007fd9
mov eax, dword [esi]
add edi, 4
add esi, 4
sub ecx, 4
mov dword [edi - 4], eax
jmp 0x69007fd9
movzx eax, word [esi]
add edi, 2
add esi, 2
sub ecx, 2
mov word [edi - 2], ax
jmp 0x69008280
movzx eax, byte [esi]
inc edi
inc esi
dec ecx
mov byte [edi - 1], al
jmp 0x69008274
movzx eax, word [esi]
add edi, 2
add esi, 2
sub ecx, 2
mov word [edi - 2], ax
jmp 0x69008328
movzx eax, byte [esi]
inc edi
inc esi
dec ecx
mov byte [edi - 1], al
jmp 0x6900831c
movzx eax, word [esi]
add edi, 2
add esi, 2
sub ecx, 2
mov word [edi - 2], ax
jmp 0x690085a7
movzx eax, byte [esi]
inc edi
inc esi
mov byte [edi - 1], al
mov eax, dword [ebp - 0x30]
lea ecx, [eax - 1]
jmp 0x6900859b
movzx eax, word [esi]
add edi, 2
add esi, 2
sub ecx, 2
mov word [edi - 2], ax
jmp 0x69008570
movzx eax, byte [esi]
inc edi
inc esi
dec ecx
mov byte [edi - 1], al
jmp 0x69008564
movzx ecx, word [esi]
add edi, 2
add esi, 2
mov word [edi - 2], cx
sub dword [ebp - 0x30], 2
jmp 0x690085de
movzx ecx, byte [esi]
inc edi
inc esi
mov byte [edi - 1], cl
lea ecx, [eax - 1]
mov dword [ebp - 0x30], ecx
jmp 0x690085d2
movzx eax, word [esi]
add edi, 2
add esi, 2
sub ecx, 2
mov word [edi - 2], ax
jmp 0x690086bb
movzx eax, byte [esi]
inc edi
inc esi
mov byte [edi - 1], al
mov eax, dword [ebp - 0x3c]
lea ecx, [eax - 1]
jmp 0x690086af
movzx eax, word [esi]
add edi, 2
add esi, 2
sub ecx, 2
mov word [edi - 2], ax
jmp 0x6900864d
movzx eax, byte [esi]
inc edi
inc esi
dec ecx
mov byte [edi - 1], al
jmp 0x69008641
movzx eax, word [esi]
add edi, 2
add esi, 2
sub ecx, 2
mov word [edi - 2], ax
jmp 0x69008616
movzx eax, byte [esi]
inc edi
inc esi
dec ecx
mov byte [edi - 1], al
jmp 0x6900860a
movzx eax, word [esi]
add edi, 2
add esi, 2
sub ecx, 2
mov word [edi - 2], ax
jmp 0x69008684
movzx eax, byte [esi]
inc edi
inc esi
mov byte [edi - 1], al
mov eax, dword [ebp - 0x30]
lea ecx, [eax - 1]
jmp 0x69008678
movzx eax, word [esi]
add edi, 2
add esi, 2
sub ecx, 2
mov word [edi - 2], ax
jmp 0x69008760
movzx eax, byte [esi]
inc edi
inc esi
mov byte [edi - 1], al
mov eax, dword [ebp - 0x3c]
lea ecx, [eax - 1]
jmp 0x69008754
movzx eax, word [esi]
add edi, 2
add esi, 2
sub ecx, 2
mov word [edi - 2], ax
jmp 0x69008729
movzx eax, byte [esi]
inc edi
inc esi
dec ecx
mov byte [edi - 1], al
jmp 0x6900871d
movzx edx, word [esi]
add edi, 2
add esi, 2
sub ecx, 2
mov word [edi - 2], dx
jmp 0x690086f2
movzx edx, byte [esi]
inc edi
inc esi
lea ecx, [eax - 1]
mov byte [edi - 1], dl
jmp 0x690086e6