Function at 0x1003dc79
Capabilities:
Delete file
Delete registry value
Get common file path
Get disk information
Identify system language via api
Query environment variable
Set environment variable

Disassembly:
mov eax, 0x1006e21c
call fcn.1006cae8
mov eax, 0x1364
call fcn.100689c0
push ebx
push esi
push edi
mov edi, 0x24ec2e0c
mov byte [ebp - 0x51], dl
push 1
mov dword [ebp - 0x2c], edi
mov esi, 0x2629
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x2c], 0xffffffeb
pop ebx
jmp 0x1003dd10
push 2
lea ecx, [ebp - 0x56c]
call fcn.1002b6f7
xor edx, edx
mov dword [ebp - 0x1c], 0xd86e52d8
mov dword [ebp - 0x1c], edx
jmp 0x1003dcdd
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x56c]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003dcca
mov dword [ebp - 0x1c], edx
jmp 0x1003dcfd
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x1003dcfa
push esi
call dword [sym.imp.GDI32.dll_GetBkColor]
xor edx, edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x1003dce8
lea ecx, [ebp - 0x56c]
call fcn.1002b83e
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffe9
jl 0x1003dcaf
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], 0xffffffeb
jmp 0x1003dd89
push 2
lea ecx, [ebp - 0x630]
call fcn.1002b6f7
xor edx, edx
mov dword [ebp - 0x1c], 0xd86e52d8
mov dword [ebp - 0x1c], edx
jmp 0x1003dd56
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x630]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003dd43
mov dword [ebp - 0x1c], edx
jmp 0x1003dd76
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x1003dd73
push esi
call dword [sym.imp.GDI32.dll_GetBkColor]
xor edx, edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x1003dd61
lea ecx, [ebp - 0x630]
call fcn.1002b83e
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffe9
jl 0x1003dd28
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x10], 0xfffffffc
mov dword [ebp - 0x48], 0xb06c0e26
mov dword [ebp - 0x48], 0x641b44ad
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffe5
push 0xffffffffffffffff
pop esi
jg 0x1003de35
mov dword [ebp - 0x18], 0x34b64b5c
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003ddd6
push eax
push 0x1cfb
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
cmp eax, 0xb101
mov eax, dword [ebp - 0x10]
setge cl
cmp esi, ecx
push 0
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setg dl
xor ebx, ebx
cmp edx, eax
setg bl
xor ecx, ecx
imul ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
cmp ebx, eax
setge cl
imul eax, ecx, 0xa
mov ecx, dword [ebp - 0x10]
neg ecx
sub ecx, eax
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe5
pop eax
jle 0x1003ddb8
xor ebx, ebx
inc ebx
movdqa xmm0, xmmword [0x10007f80]
lea ecx, [ebp - 0x720]
push ecx
mov dword [ebp - 0x34], 7
lea eax, [ebp - 0x710]
mov dword [ebp - 0x28], 0xfffffffb
push eax
mov dword [ebp - 0x18], 0xfffffff8
push ecx
mov dword [ebp - 0x24], ebx
lea ecx, [ebp - 0x63c]
mov dword [ebp - 0x10], 0xb996a530
movdqu xmmword [ebp - 0x720], xmm0
call fcn.1002b755
and dword [ebp - 4], 0
lea ecx, [ebp - 0x820]
movdqa xmm0, xmmword [0x10007f70]
lea eax, [ebp - 0x810]
push ecx
push eax
push ecx
mov dword [ebp - 0x48], 0xfb49a5c1
lea ecx, [ebp - 0x584]
movdqu xmmword [ebp - 0x820], xmm0
call fcn.1002b755
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], 0
jmp 0x1003ded0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd0], 0xf5ed9a92
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003debf
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, dword [ebp - 0x63c]
mov esi, dword [ebp - 0x584]
sbb edx, edx
inc edx
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x48]
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0xc821
setne al
xor ecx, ecx
cmp eax, dword [esi + 4]
setle cl
xor eax, eax
cmp ecx, 0x932d
setl al
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x1003df2f
cmp dword [ebp - 0x18], eax
je 0x1003df31
mov eax, ebx
mov edx, dword [ebp - 0x18]
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
setne cl
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
dec dword [ebp - 0x10]
cmp ecx, eax
jne 0x1003df54
mov edx, ebx
jmp 0x1003df56
xor edx, edx
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
neg ecx
cmp ecx, dword [esi + 4]
setg al
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x10], 0xffffffe4
cmp dword [ebp - 0x10], 0x28
jge 0x1003dfa7
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003df9e
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x28
jl 0x1003df8c
lea ecx, [ebp - 0x584]
call fcn.1002b83e
or esi, 0xffffffff
lea ecx, [ebp - 0x63c]
mov dword [ebp - 4], esi
call fcn.1002b83e
movdqa xmm0, xmmword [0x10007f90]
lea ecx, [ebp - 0x840]
push ecx
lea eax, [ebp - 0x830]
mov dword [ebp - 0x20], edi
push eax
push ecx
lea ecx, [ebp - 0x654]
movdqu xmmword [ebp - 0x840], xmm0
call fcn.1002b755
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x59c]
mov dword [ebp - 0x48], 0xd42ca8cd
mov dword [ebp - 0x34], 0x9f6a715c
mov dword [ebp - 0x48], 0xc2c9ebf4
mov dword [ebp - 0x3c], 0x372ba29f
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x3c], 0xd329b3a0
push 2
call fcn.1002b6f7
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x49c]
mov dword [ebp - 0x24], 0xb16aac89
mov dword [ebp - 0x3c], esi
push 2
call fcn.1002b6f7
mov dword [ebp - 0x48], 0x61949f0d
xor edx, edx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], edx
jmp 0x1003e061
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x59c]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1003e052
push 0xfffffffffffffff6
mov dword [ebp - 0x10], edx
pop edx
jmp 0x1003e07e
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x49c]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1003e06f
mov eax, dword [ebp - 0x654]
xor edx, edx
mov dword [eax + 0xc], 0x1e42
mov dword [ebp - 0x48], 0x223f
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x34]
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x49c]
cmp dword [eax], ebx
setle dl
sub edx, dword [eax]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0x487c7592
setg cl
xor eax, eax
cmp ecx, esi
lea ecx, [ebp - 0x49c]
setne al
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x48], eax
call fcn.1002b83e
lea ecx, [ebp - 0x59c]
call fcn.1002b83e
lea ecx, [ebp - 0x654]
mov dword [ebp - 4], esi
call fcn.1002b83e
push 3
mov dword [ebp - 0x20], 0xffffffeb
pop edi
jmp 0x1003e8b6
mov dword [ebp - 0x28], 0xfffffff9
lea ecx, [ebp - 0x5b4]
mov dword [ebp - 0x48], 0x795010f7
push ebx
call fcn.1002b6f7
xor edx, edx
mov dword [ebp - 0x1c], edx
jmp 0x1003e149
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5b4]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003e136
mov dword [ebp - 0x28], edx
jmp 0x1003e175
mov dword [ebp - 0x48], 0x20002526
mov dword [ebp - 0x24], 0x672a8358
cmp dword [ebp - 0x28], edx
jne 0x1003e17b
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff7
jle 0x1003e153
lea ecx, [ebp - 0x5b4]
call fcn.1002b83e
push 2
lea ecx, [ebp - 0x5c8]
call fcn.1002b6f7
mov dword [ebp - 4], edi
xor ecx, ecx
mov dword [ebp - 0x48], 0x9ecf4a41
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x10], ecx
jmp 0x1003e1bf
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1d0], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1003e1b2
mov dword [ebp - 0x10], ecx
jmp 0x1003e1db
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x94], 0xa32a17d0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003e1ca
inc dword [ebp - 0x1c8]
xor ebx, ebx
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x48]
cmp ecx, eax
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1c8]
setle bl
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x1c8]
sets dl
imul edx, ebx
xor ebx, ebx
sub ecx, edx
cmp ecx, eax
setne bl
xor edx, edx
mov dword [ebp - 0x94], ebx
mov eax, dword [ebp - 0x1cc]
cmp ebx, eax
mov eax, dword [ebp - 0x48]
sete dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 0x1c8]
jge 0x1003e246
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
xor edx, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x44], 0xd86e52d8
mov dword [ebp - 0x10], edx
jmp 0x1003e274
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x11c], 0xa8eac8b1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003e263
mov dword [ebp - 0x10], edx
jmp 0x1003e28f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x894], 0xe74e8003
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003e27e
xor ebx, ebx
mov dword [ebp - 0x114], edx
inc ebx
cmp dword [ebp - 0x114], 0xe
jg 0x1003e3ec
lea esi, [ebp - 0x830]
lea edi, [ebp - 0x820]
movdqa xmm0, xmmword [0x10007f90]
push ecx
push edi
push esi
lea ecx, [ebp - 0x2d4]
movdqu xmmword [ebp - 0x830], xmm0
call fcn.1002b755
mov dword [ebp - 0x1c], 0
jmp 0x1003e2ee
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x54c], 0x7f6c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003e2dd
mov eax, dword [ebp - 0x2d4]
mov dword [eax], 0x1c
mov dword [ebp - 0x28], ebx
xor edx, edx
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x28]
add eax, 0x4fae5081
add ecx, eax
mov eax, dword [ebp - 0x2d4]
cmp dword [eax], ecx
mov eax, dword [ebp - 0x548]
setg dl
add eax, edx
mov dword [ebp - 0x88c], eax
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x1003e3af
mov dword [ebp - 0x2c], 0x6123d4a1
mov dword [ebp - 0x2c], eax
jmp 0x1003e3a6
mov dword [ebp - 0x18], 0xfffffff9
mov dword [ebp - 0x18], 0xfffffffc
cmp dword [ebp - 0x18], eax
jge 0x1003e38c
push 0xfffffffffffffff6
pop ecx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], 0xfffffffd
jmp 0x1003e382
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003e37f
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
push 0xfffffffffffffff6
xor eax, eax
pop ecx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jg 0x1003e369
inc dword [ebp - 0x18]
js 0x1003e35d
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003e3a3
push eax
push 0x7c7
call dword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffffd
jg 0x1003e347
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x28
jle 0x1003e33b
mov eax, dword [ebp - 0x2d4]
dec dword [eax]
cmp dword [eax], 0xf
jg 0x1003e300
lea ecx, [ebp - 0x2d4]
call fcn.1002b83e
inc dword [ebp - 0x114]
cmp dword [ebp - 0x114], 0xe
jle 0x1003e2b6
push 3
xor edx, edx
or esi, 0xffffffff
pop edi
mov dword [ebp - 0x1c], edx
jmp 0x1003e404
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c8]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003e3f1
mov dword [ebp - 0x44], 0xfffffffb
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x1c], edx
jmp 0x1003e42a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x66c], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1003e41d
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x44], 0xffffffed
cmp dword [ebp - 0x44], 0x25
jne 0x1003e4f3
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x48], 0xac3dc99c
mov dword [ebp - 0x48], 0x3d97867a
mov dword [ebp - 0x10], 4
jmp 0x1003e4de
mov dword [ebp - 0x18], 0xf6d4a0d4
mov eax, dword [ebp - 0x24]
sub eax, 0x96a5
neg eax
sbb eax, eax
inc eax
neg eax
cmp eax, dword [ebp - 0x10]
jge 0x1003e485
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x48], 0xfff9
xor ecx, ecx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x668], eax
mov edx, dword [ebp - 0x44]
imul edx, eax
add edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x10]
je 0x1003e4b7
cmp dword [ebp - 0x44], 0
je 0x1003e4b7
mov edx, ebx
jmp 0x1003e4b9
xor edx, edx
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
add eax, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x48], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x14
je 0x1003e467
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0x25
je 0x1003e449
xor edx, edx
mov dword [ebp - 0x44], edx
jmp 0x1003e89c
mov dword [ebp - 0x18], 0x609c
mov dword [ebp - 0x48], 0x758e92ed
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x10], edx
jmp 0x1003e521
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x530], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1003e514
mov dword [ebp - 0x10], edx
jmp 0x1003e539
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x87c], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003e52c
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0x52c], ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x87c], eax
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x1003e899
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], 0xdb22
mov dword [ebp - 0x1c], edx
jmp 0x1003e590
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9c], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003e583
mov dword [ebp - 0x10], edx
jmp 0x1003e7d9
mov dword [ebp - 0x48], 0x1945
cmp dword [ebp - 0x48], 0x6f7
jge 0x1003e665
lea eax, [ebp - 0xc4]
mov ecx, 0x1065eb30
push eax
call fcn.1002ad65
mov esi, dword [ebp - 0xc4]
test esi, esi
je 0x1003e659
lea eax, [ebp - 0x248]
push eax
push ecx
lea eax, [ebp - 0x274]
push eax
push ecx
lea eax, [ebp - 0x28c]
push eax
push ecx
lea eax, [ebp - 0x228]
mov ecx, 0x1065eb30
push eax
call fcn.1002ad65
pop ecx
mov ecx, eax
call fcn.1002ad65
pop ecx
mov ecx, eax
call fcn.1002ad65
pop ecx
mov ecx, eax
call fcn.1002ad65
mov eax, dword [ebp - 0x248]
add eax, eax
sub eax, dword [ebp - 0x28c]
push eax
mov eax, dword [ebp - 0x274]
add eax, eax
sub eax, dword [ebp - 0x228]
push ecx
push eax
mov ecx, 0x1065ea78
call fcn.1002b29f
mov dl, 0x20
mov ecx, eax
call fcn.10030267
pop ecx
mov ecx, eax
call fcn.1002b29f
push eax
call fcn.1002fce0
pop ecx
dec esi
jne 0x1003e5d0
dec esi
xor edx, edx
mov dword [ebp - 0xc4], esi
or esi, 0xffffffff
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x48], 0xb68dee21
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], edx
jl 0x1003e7d6
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x28], edx
jmp 0x1003e7c1
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x48], 0x4eea2a3b
mov dword [ebp - 0x48], 0x1a99
cmp dword [ebp - 0x48], 0x1167
jge 0x1003e7a1
lea eax, [ebp - 0xe8]
xorps xmm0, xmm0
push eax
push ecx
lea eax, [ebp - 0x288]
movlpd qword [ebp - 0x238], xmm0
push eax
push ecx
lea eax, [ebp - 0x238]
movlpd qword [ebp - 0x288], xmm0
push eax
mov ecx, 0x1065eb30
movlpd qword [ebp - 0xe8], xmm0
call fcn.1004ba9f
pop ecx
mov ecx, eax
call fcn.1004ba9f
pop ecx
mov ecx, eax
call fcn.1004ba9f
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [ebp - 0x234]
push dword [ebp - 0x238]
call fcn.10064bf0
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x18], edx
cmp ebx, eax
ja 0x1003e731
cmp ecx, eax
ja 0x1003e731
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
mov edi, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x40]
jmp 0x1003e736
xor esi, esi
mov edi, eax
inc esi
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [ebp - 0x284]
push dword [ebp - 0x288]
call fcn.10064bf0
mov dword [ebp - 0x48], eax
xor eax, eax
cmp ebx, eax
ja 0x1003e773
cmp ecx, eax
ja 0x1003e773
xorps xmm0, xmm0
xor ebx, ebx
movlpd qword [ebp - 0x40], xmm0
inc ebx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
jmp 0x1003e77a
xor ebx, ebx
inc ebx
xor ecx, ecx
mov eax, ebx
add eax, dword [ebp - 0x48]
adc ecx, edx
add esi, dword [ebp - 0x24]
adc edi, dword [ebp - 0x18]
push edi
push esi
push ecx
push eax
call fcn.1005a000
push edx
push eax
call fcn.1004bbb4
push eax
call fcn.1002fce0
xor edx, edx
or esi, 0xffffffff
pop ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x9c], ecx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x48], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edx
jle 0x1003e68a
dec dword [ebp - 0x1c]
jns 0x1003e67b
push 3
pop edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x1003e59d
mov dword [ebp - 0x2c], 0x10
jmp 0x1003e880
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x1c], 0xf4923579
mov dword [ebp - 0x18], 0xfffd
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x28], edx
je 0x1003e86a
mov eax, dword [ebp - 0x28]
sub eax, 0x7b8b
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setl dl
xor eax, eax
cmp edx, 0x5674
mov edx, ebx
setne al
xor ecx, ecx
sub edx, eax
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setge cl
xor edx, edx
add ecx, 7
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x9c]
mov eax, ebx
cmp dword [ebp - 0x34], edx
jne 0x1003e86c
mov eax, edx
cmp eax, dword [ebp - 0x18]
je 0x1003e874
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
dec dword [ebp - 0x2c]
push 0xfffffffffffffff6
pop eax
cmp dword [ebp - 0x2c], eax
jge 0x1003e7ee
push 0x2629
call dword [sym.imp.GDI32.dll_GetBkColor]
xor edx, edx
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], ebx
jle 0x1003e4fb
lea ecx, [ebp - 0x5c8]
mov dword [ebp - 4], esi
call fcn.1002b83e
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe9
jl 0x1003e115
mov dword [ebp - 0x1c], 0xfff6
mov ecx, 0xfffc
mov dword [ebp - 0x48], 0xc12265e3
mov dword [ebp - 0x18], 0xcb4e76ab
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
neg eax
imul eax, eax, 0xfffb
test eax, eax
je 0x1003ea5f
mov dword [ebp - 0x48], 0x26d2
cmp dword [ebp - 0x48], 0x5f8
jge 0x1003ea4a
lea eax, [ebp - 0x27c]
mov ecx, 0x1065eb30
push eax
call fcn.1002ad65
mov edi, dword [ebp - 0x27c]
cmp edi, ebx
jl 0x1003e950
mov esi, 0x107e9b04
mov ebx, edi
push esi
mov ecx, 0x1065eb30
call fcn.1002ad65
add esi, 4
dec ebx
jne 0x1003e93e
inc ebx
xor eax, eax
lea ecx, [ebp - 0x394]
push eax
push eax
mov dword [ebp - 0x384], eax
mov dword [ebp - 0x380], eax
call fcn.1002c058
lea edx, [ebp - 0x394]
mov dword [ebp - 4], 4
mov ecx, 0x1065eb30
call fcn.10030cd7
and dword [0x10724f40], 0
mov edx, ebx
cmp dword [ebp - 0x384], ebx
jb 0x1003e9c8
cmp dword [ebp - 0x380], 0x10
lea eax, [ebp - 0x394]
cmovae eax, dword [ebp - 0x394]
movsx ecx, byte [eax + edx - 1]
mov eax, dword [edx*4 + 0x10724f3c]
add eax, 0xffffffd0
add eax, ecx
mov dword [edx*4 + 0x10724f40], eax
inc edx
cmp edx, dword [ebp - 0x384]
jbe 0x1003e993
mov esi, ebx
cmp edi, ebx
jl 0x1003ea20
mov edx, dword [esi*4 + 0x107e9b00]
cmp edx, esi
je 0x1003ea1b
jge 0x1003e9f1
mov ecx, dword [esi*4 + 0x10724f3c]
mov eax, esi
sub ecx, dword [edx*4 + 0x10724f3c]
sub eax, edx
cmp eax, ecx
jmp 0x1003ea03
mov eax, dword [edx*4 + 0x10724f3c]
sub edx, esi
sub eax, dword [esi*4 + 0x10724f3c]
cmp edx, eax
je 0x1003ea1b
mov edx, 0x100077c4
mov ecx, 0x1065ea78
call fcn.1002fd12
push eax
call fcn.1002fce0
pop ecx
inc esi
cmp esi, edi
jle 0x1003e9ce
mov edx, 0x100077c0
mov ecx, 0x1065ea78
call fcn.1002fd12
push eax
call fcn.1002fce0
pop ecx
push 0
or esi, 0xffffffff
lea ecx, [ebp - 0x394]
push ebx
mov dword [ebp - 4], esi
call fcn.1002c058
xor edx, edx
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], dl
je 0x1003eaa0
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
xor edx, edx
jmp 0x1003eaa0
mov dword [ebp - 0x28], 0
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov edx, esi
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
test eax, eax
setns cl
sub edx, ecx
xor ecx, ecx
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp eax, edx
setg cl
xor edx, edx
cmp ecx, ebx
ja 0x1003ea98
cmp dword [ebp - 0x28], edx
je 0x1003ea9a
mov eax, ebx
add eax, 9
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, 0xffff
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], edx
jmp 0x1003eac0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5bc], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003eab3
mov dword [ebp - 0x48], 0x204a
cmp dword [ebp - 0x48], 0x5d8
jge 0x1003ec63
push 0x107e8448
push 0x107e844c
push 0x10007798
call fcn.10055feb
mov ecx, dword [0x107e844c]
add esp, 0xc
xor edi, edi
mov ebx, 0x107e8e80
mov dword [ebp - 0x34], ebx
test ecx, ecx
jle 0x1003eb22
mov esi, ebx
push esi
push 0x10007818
call fcn.10055feb
pop ecx
pop ecx
mov ecx, dword [0x107e844c]
inc edi
add esi, 0x33
cmp edi, ecx
jl 0x1003eb07
and dword [ebp - 0x18], 0
test ecx, ecx
jle 0x1003eb60
mov edx, dword [0x107e8448]
mov eax, ecx
mov edi, ebx
mov dword [ebp - 0x48], eax
xor esi, esi
test edx, edx
jle 0x1003eb51
xor eax, eax
cmp byte [esi + edi], 0x23
sete al
add dword [ebp - 0x18], eax
inc esi
cmp esi, edx
jl 0x1003eb3d
mov eax, dword [ebp - 0x48]
add edi, 0x33
dec eax
mov dword [ebp - 0x48], eax
jne 0x1003eb37
cmp dword [ebp - 0x18], 2
jg 0x1003eb77
push 0x10007794
call fcn.100567a1
mov edx, dword [0x107e8448]
pop ecx
mov ecx, dword [0x107e844c]
xor eax, eax
mov dword [ebp - 0x18], eax
test ecx, ecx
jle 0x1003ec56
xor edi, edi
mov dword [ebp - 0x24], edi
test edx, edx
jle 0x1003ec44
cmp byte [edi + ebx], 0x23
jne 0x1003ec35
push 0xa29
push 0
push 0x107e8450
call fcn.1003755a
mov ecx, dword [0x107e844c]
add esp, 0xc
mov edx, dword [0x107e8448]
xor eax, eax
mov byte [edi + ebx], 0x2e
test ecx, ecx
jle 0x1003ec31
mov dword [ebp - 0x48], eax
mov ebx, eax
mov edi, eax
xor esi, esi
test edx, edx
jle 0x1003ec04
cmp byte [esi + eax + 0x107e8450], 0
jne 0x1003ebf9
cmp byte [esi + eax + 0x107e8e80], 0x23
jne 0x1003ebf9
mov edx, esi
mov ecx, ebx
inc edi
call fcn.1003dbc8
mov edx, dword [0x107e8448]
mov eax, dword [ebp - 0x48]
inc esi
cmp esi, edx
jl 0x1003ebd2
mov ecx, dword [0x107e844c]
inc ebx
add eax, 0x33
mov dword [ebp - 0x48], eax
cmp ebx, ecx
jl 0x1003ebcc
mov ebx, dword [ebp - 0x34]
cmp edi, 1
mov edi, dword [ebp - 0x24]
jle 0x1003ec31
push 0x10007ad0
call fcn.100567a1
mov edx, dword [0x107e8448]
pop ecx
mov ecx, dword [0x107e844c]
mov byte [edi + ebx], 0x23
inc edi
mov dword [ebp - 0x24], edi
cmp edi, edx
jl 0x1003eb91
mov eax, dword [ebp - 0x18]
inc eax
add ebx, 0x33
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], ebx
cmp eax, ecx
jl 0x1003eb84
push 0x10007ad4
call fcn.100567a1
pop ecx
xor edx, edx
mov ebx, dword [sym.imp.GDI32.dll_GetRgnBox]
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x1003ec78
push edx
push edx
call ebx
xor edx, edx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov dword [ebp - 0x5bc], eax
inc ecx
mov eax, dword [0x100748bc]
mov dword [ebp - 0x20], 0x76b87d0f
push 3
pop edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], 0x786c7a88
mov dword [ebp - 0x500], ecx
mov dword [ebp - 0x4fc], ecx
mov dword [ebp - 0x4f8], ecx
mov dword [ebp - 0x4f4], ecx
mov dword [ebp - 0x34], 0x13c9534c
mov dword [ebp - 0x24], 0xed469f41
mov dword [ebp - 0x24], edx
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
mov dword [ebp - 0x48], eax
je 0x1003ece6
push edx
push 0x127b
call dword [sym.imp.GDI32.dll_RectVisible]
xor ecx, ecx
inc ecx
xor edx, edx
cmp dword [ebp - 0x20], edx
je 0x1003ed62
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0xb927
setle al
xor edx, edx
mov dword [ebp - 0x500], eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov esi, 0xffff
sub eax, esi
cmp eax, dword [ebp - 0x20]
je 0x1003ed7b
cmp dword [ebp - 0x18], edx
je 0x1003ed7b
xor ecx, ecx
inc ecx
jmp 0x1003ed7d
mov ecx, edx
mov eax, dword [ebp - 0x10]
imul eax, ecx
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], 0xb6311140
or eax, 0xffffffff
mov dword [ebp - 0x3c], esi
inc ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 0x1c], edx
jmp 0x1003edbf
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2b0], 0x86e52d8c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003edae
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x18]
neg esi
mov dword [ebp - 0x2b0], esi
mov eax, dword [ebp - 0x24]
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, 4
mov eax, dword [ebp - 0x24]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp esi, eax
setl cl
xor eax, eax
cmp ecx, edx
setne al
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], cl
je 0x1003ee1f
push 0x3a0
push 0xd75
push ecx
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
xor ecx, ecx
mov dword [ebp - 0x18], 0x6e871d97
or eax, 0xffffffff
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], ecx
jmp 0x1003ee42
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x750], 0x2403
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1003ee31
dec dword [ebp - 0x748]
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ecx
jl 0x1003ee62
mov dword [ebp - 0x24], 0x8067e307
dec dword [ebp - 0x18]
jns 0x1003ee56
push 1
lea ecx, [ebp - 0x43c]
call fcn.1002b6f7
push 5
pop eax
push edi
lea ecx, [ebp - 0x3ac]
mov dword [ebp - 4], eax
call fcn.1002b6f7
xor edx, edx
mov dword [ebp - 0x24], 0xa7609fa8
mov dword [ebp - 0x10], 0
inc edx
jmp 0x1003eea7
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x43c]
mov dword [eax + ecx*4], 0xdde0bcd8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1003ee94
mov dword [ebp - 0x10], 0
jmp 0x1003eec8
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3ac]
mov dword [eax + ecx*4], 0x56f9b2cf
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003eeb5
mov edi, dword [ebp - 0x3ac]
xor ebx, ebx
mov dword [edi + 8], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], 0x8a2b8ea2
mov dword [ebp - 0x2c], ebx
jmp 0x1003ef13
mov dword [ebp - 0x18], 0xb7f37c04
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x1003ef10
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1003ef0b
push ebx
push 0x399
push ebx
call dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
dec dword [ebp - 0x18]
jns 0x1003eef6
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x1003eee7
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3ac]
imul ecx, dword [eax]
mov dword [ebp - 0x2c], ecx
mov esi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x43c]
mov eax, dword [edi + 8]
imul esi, dword [ecx]
mov edx, dword [ecx + eax*4]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
add eax, esi
imul eax, eax, 0x6c7f
lea eax, [eax + edx*2]
dec eax
cmp eax, edx
setl cl
inc dword [edi + 8]
mov dword [ebp - 0x18], ecx
cmp dword [edi + 8], ebx
jle 0x1003eed8
lea ecx, [ebp - 0x3ac]
call fcn.1002b83e
or esi, 0xffffffff
lea ecx, [ebp - 0x43c]
mov dword [ebp - 4], esi
call fcn.1002b83e
mov dword [ebp - 0x1c], ebx
mov ebx, dword [sym.imp.GDI32.dll_GetRgnBox]
jmp 0x1003ef92
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x68c], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003ef85
push 2
lea ecx, [ebp - 0x334]
call fcn.1002b6f7
xor edx, edx
mov dword [ebp - 0x1c], edx
jmp 0x1003efbb
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x334]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003efac
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], dl
je 0x1003efd8
push edx
push 0x881
push edx
call dword [sym.imp.OLEAUT32.dll_SafeArrayLock]
xor edx, edx
mov eax, dword [ebp - 0x334]
mov dword [eax], edx
mov dword [ebp - 0x510], esi
mov dword [ebp - 0x50c], esi
mov dword [ebp - 0x508], esi
mov dword [ebp - 0x504], esi
mov dword [ebp - 0x1c], edx
jmp 0x1003f00e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8ac], 6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1003effd
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x1003f026
push edx
call dword [sym.imp.ole32.dll_CoInitialize]
xor edx, edx
mov eax, dword [ebp - 0x8a8]
mov dword [ebp - 0x50c], eax
mov eax, dword [ebp - 0x334]
dec dword [eax]
cmp dword [eax], 0xfffffff1
jge 0x1003efe0
lea ecx, [ebp - 0x334]
call fcn.1002b83e
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1003f058
push eax
push eax
call ebx
mov dword [ebp - 0x30], 0x6ce4a6f4
lea ecx, [ebp - 0x2ec]
xor edi, edi
mov dword [ebp - 0x2c], esi
inc edi
mov dword [ebp - 0x10], 0x43e2f7c6
mov dword [ebp - 0x28], edi
push 4
call fcn.1002b6f7
push 5
pop eax
mov dword [ebp - 0x44], eax
xor edx, edx
mov dword [ebp - 0x18], 0xef5b5069
mov dword [ebp - 0x20], 0xba832a49
mov dword [ebp - 0x24], 0x907f7a79
mov dword [ebp - 0x4c], 0x1854
mov dword [ebp - 0x1c], edx
jmp 0x1003f0b4
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2ec]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1003f0a5
cmp dword [ebp - 0x30], edx
jne 0x1003f0e2
mov dword [ebp - 0x2c], 0xffff2533
xor edx, edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setle dl
imul eax, edx, 0xfffa
cmp eax, dword [ebp - 0x30]
je 0x1003f0e2
xor ecx, ecx
jmp 0x1003f0e4
mov ecx, edi
xor eax, eax
cmp ecx, 0x1fc9a57b
sete al
xor ecx, ecx
cmp eax, 7
setge cl
add ecx, dword [ebp - 0x30]
je 0x1003f0ff
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x2ec]
mov dword [esi + 4], eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
cmp eax, 0xf3bec767
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x2c]
setl cl
add eax, 0xa88ff767
add eax, ecx
jne 0x1003f15b
cmp dword [ebp - 0x30], eax
je 0x1003f15d
mov eax, edi
mov dword [ebp - 0x18], eax
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setle dl
xor ecx, ecx
cmp edx, dword [esi + 4]
push 5
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge dl
xor ecx, ecx
imul edx, dword [esi + 4]
cmp edx, eax
pop eax
setne cl
cmp eax, ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xc509
jg 0x1003f294
mov dword [ebp - 0x20], 0x11
cmp dword [ebp - 0x20], 0xffffffeb
push 3
pop esi
jl 0x1003f270
xor eax, eax
mov dword [ebp - 0x44], eax
jmp 0x1003f25a
mov dword [ebp - 0x30], eax
jmp 0x1003f214
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003f211
push 0x2441
push 0x1049
push 0x20e7
push 0x1e7c
push 0x854
push 0xd46
push 0x4fe
push 0x1d24
push 0x484
push 0xb53
push 0xaa2
call dword [sym.imp.GDI32.dll_StretchBlt]
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jle 0x1003f1c9
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], eax
jl 0x1003f257
mov dword [ebp - 0x18], 0x146bfe21
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jg 0x1003f252
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], esi
jle 0x1003f1c4
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffeb
jge 0x1003f1bc
or edi, 0xffffffff
lea ecx, [ebp - 0x2ec]
call fcn.1002b83e
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x68c], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x1c], ecx
jmp 0x1003f33f
mov dword [ebp - 0x24], 0xd9140931
or edi, 0xffffffff
mov dword [ebp - 0x34], edi
xor ecx, ecx
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x1c], ecx
jmp 0x1003f2bc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8c8], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1003f2af
dec dword [ebp - 0x24]
cmp dword [ebp - 0x34], ecx
je 0x1003f2f8
mov eax, dword [ebp - 0x44]
xor edx, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [esi + 4]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
setl dl
sub edx, 0xfffffffb
neg edx
sbb edx, edx
inc edx
add eax, edx
add ecx, eax
je 0x1003f2f6
xor edx, edx
inc edx
mov ecx, edx
jmp 0x1003f2fb
xor ecx, ecx
xor edx, edx
inc edx
mov eax, dword [ebp - 0x18]
imul eax, ecx
cmp eax, dword [ebp - 0x30]
jle 0x1003f30d
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x1003f30f
mov eax, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0x18]
push 3
pop esi
cmp eax, edx
sbb eax, eax
neg eax
sub eax, 0x6196c9a5
mov dword [ebp - 0x8bc], eax
jmp 0x1003f273
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x544], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003f332
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], cl
je 0x1003f353
push ecx
push ecx
call ebx
xor ecx, ecx
mov eax, dword [ebp - 0x3c]
xor ebx, ebx
mov dword [ebp - 0x544], eax
inc ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x1c], 0x97ec53a2
mov dword [ebp - 0x28], 0x81b2706
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x30], 0xfffffff1
cmp dword [ebp - 0x30], 0xfffffffd
jge 0x1003f677
mov dword [ebp - 0x20], ebx
lea ecx, [ebp - 0x19c]
push esi
call fcn.1002b6f7
mov dword [ebp - 4], 6
xor edx, edx
mov dword [ebp - 0x18], 0xbf748bbe
mov dword [ebp - 0x1c], edx
jmp 0x1003f3be
mov dword [ebp - 0x28], 0xffffffe6
jmp 0x1003f76b