Function at 0x10030894
Capabilities:
Accept command line arguments
Enumerate gui resources
Get common file path
Get graphical window text
Get keyboard layout
Query environment variable
Set registry value
Set thread local storage value

Disassembly:
mov eax, 0x10069716
call fcn.10068648
sub esp, 0xa3c
mov eax, dword [0x1006f65c]
push ebx
push esi
xor ebx, ebx
mov byte [ebp - 0x79], dl
inc ebx
mov dword [ebp - 0x78], ecx
push edi
mov dword [ebp - 0x24], ebx
xor edx, edx
push 2
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x18], edx
pop esi
jmp 0x100308d8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x200], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100308cb
push 0xffffffffffffffff
mov dword [ebp - 0x18], edx
pop ecx
jmp 0x100308f2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x10c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x100308e5
mov eax, dword [ebp - 0x200]
mov ecx, 0xc8748afa
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0xd
push 3
pop edi
mov dword [ebp - 0x2dc], 5
jge 0x10030c05
mov dword [ebp - 0x404], ecx
or eax, 0xffffffff
mov dword [ebp - 0x400], ecx
mov dword [ebp - 0x3fc], ecx
mov dword [ebp - 0x3f8], ecx
lea ecx, [ebp - 0x594]
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x30], 0xe780ca9f
mov dword [ebp - 0x30], 0x214a9bac
mov dword [ebp - 0x30], 0x9e95d1c5
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x64], 0xc4b7c700
mov dword [ebp - 0x30], eax
push ebx
call fcn.10029e7b
xor edx, edx
mov dword [ebp - 4], edx
mov dword [ebp - 0x54], 0xf230988a
mov dword [ebp - 0x18], edx
jmp 0x1003099c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x594]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030989
mov dword [ebp - 0x18], edx
jmp 0x100309b7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x920], 0xefaadad2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100309a6
dec dword [ebp - 0x10c]
mov dword [ebp - 0x64], edx
cmp dword [ebp - 0x64], esi
jge 0x10030bdf
mov dword [ebp - 0x34], 0x525036ff
or eax, 0xffffffff
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], 0x2424
cmp dword [ebp - 0x28], 0xc35
jge 0x10030ae1
lea eax, [ebp - 0xd8]
push eax
push 0x10008114
call fcn.1004f9f0
pop ecx
pop ecx
push dword [ebp - 0xd8]
lea ecx, [ebp - 0x4bc]
call fcn.10029e7b
and dword [ebp - 0x28], 0
mov edi, dword [ebp - 0xd8]
mov esi, dword [ebp - 0x4bc]
test edi, edi
jle 0x10030a4f
mov ebx, esi
mov esi, dword [ebp - 0x28]
push ebx
push 0x10008114
call fcn.1004f9f0
mov edi, dword [ebp - 0xd8]
inc esi
pop ecx
pop ecx
push 4
pop eax
add ebx, eax
cmp esi, edi
jl 0x10030a2c
mov esi, dword [ebp - 0x4bc]
xor edx, edx
xor ebx, ebx
inc edx
cmp dword [esi], edx
sete bl
xor ecx, ecx
cmp dword [esi], 2
sete cl
xor eax, eax
mov dword [ebp - 0x48], eax
cmp edi, edx
jle 0x10030abf
mov eax, dword [esi + edx*4]
cmp eax, 1
jne 0x10030a7b
cmp dword [esi + edx*4 - 4], eax
jne 0x10030a7b
inc ebx
jmp 0x10030aa9
cmp eax, 2
jne 0x10030a89
cmp dword [esi + edx*4 - 4], eax
jne 0x10030a89
inc ecx
jmp 0x10030aa9
cmp eax, 1
jne 0x10030a9a
cmp dword [esi + edx*4 - 4], 2
jne 0x10030a9a
xor ebx, ebx
inc ebx
jmp 0x10030aa9
cmp eax, 2
jne 0x10030aa9
xor eax, eax
inc eax
cmp dword [esi + edx*4 - 4], eax
cmove ecx, eax
cmp ebx, ecx
mov eax, ecx
cmovl eax, ebx
cmp dword [ebp - 0x48], eax
cmovg eax, dword [ebp - 0x48]
inc edx
mov dword [ebp - 0x48], eax
cmp edx, edi
jl 0x10030a6a
add eax, eax
push eax
push 0x10008130
call fcn.1004fd81
pop ecx
pop ecx
lea ecx, [ebp - 0x4bc]
call fcn.1002a8c8
xor ebx, ebx
push 2
inc ebx
xor edx, edx
pop esi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0x1d319d7f
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x1c], edx
jmp 0x10030b07
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x7b0], 0x6b93dced
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10030af6
mov ecx, dword [ebp - 0x10c]
xor edx, edx
mov eax, dword [ebp - 0x400]
add ecx, 0xf1540ee1
cmp ecx, eax
mov eax, dword [ebp - 0x594]
setne dl
mov dword [eax], edx
mov dword [ebp - 0x1c], 0xfffffffe
jmp 0x10030bc3
mov dword [ebp - 0x6c], ebx
xor eax, eax
mov dword [ebp - 0x5c], 0xb566e66b
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 0x5555d5df
mov byte [ebp - 0x1d], al
cmp byte [ebp - 0x1d], al
je 0x10030b5d
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov eax, dword [ebp - 0x3f8]
xor ecx, ecx
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x7ac]
inc dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x5c]
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x200]
mov eax, dword [ebp - 0x5c]
cmp eax, 0x80a71b66
setl cl
add ecx, dword [ebp - 0x91c]
sub ecx, 5
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x1fc], ecx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff3
jge 0x10030b39
inc dword [ebp - 0x64]
push 0
pop edx
cmp dword [ebp - 0x64], esi
jl 0x100309ce
push 3
pop edi
or eax, 0xffffffff
lea ecx, [ebp - 0x594]
mov dword [ebp - 4], eax
call fcn.1002a8c8
inc dword [ebp - 0x24]
mov ecx, 0xc8748afa
cmp dword [ebp - 0x24], 0xd
push 0
pop edx
jl 0x10030922
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], edx
jmp 0x10030c1d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x210], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10030c10
mov dword [ebp - 0x18], edx
jmp 0x10030c38
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe0], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030c27
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0xd
jge 0x10030e2a
mov dword [ebp - 0x47c], ecx
or eax, 0xffffffff
mov dword [ebp - 0x478], ecx
mov dword [ebp - 0x474], ecx
mov dword [ebp - 0x470], ecx
lea ecx, [ebp - 0x4d4]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x30], 0xe780ca9f
mov dword [ebp - 0x30], 0x214a9bac
mov dword [ebp - 0x30], 0x9e95d1c5
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x64], 0xc4b7c700
mov dword [ebp - 0x30], eax
push ebx
call fcn.10029e7b
xor edx, edx
mov dword [ebp - 0x54], 0xf230988a
mov dword [ebp - 0x18], edx
jmp 0x10030ccd
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4d4]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030cba
mov dword [ebp - 0x18], edx
jmp 0x10030ce8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x92c], 0xefaadad2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10030cd7
dec dword [ebp - 0xe0]
mov dword [ebp - 0x64], edx
cmp dword [ebp - 0x64], esi
jge 0x10030e0a
or edi, 0xffffffff
mov dword [ebp - 0x34], 0x525036ff
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0x1d319d7f
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x1c], edx
jmp 0x10030d32
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x7c4], 0x6b93dced
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10030d21
mov ecx, dword [ebp - 0xe0]
xor edx, edx
mov eax, dword [ebp - 0x478]
add ecx, 0xf1540ee1
cmp ecx, eax
mov eax, dword [ebp - 0x4d4]
setne dl
mov dword [eax], edx
mov dword [ebp - 0x1c], 0xfffffffe
jmp 0x10030dee
mov dword [ebp - 0x6c], ebx
xor eax, eax
mov dword [ebp - 0x5c], 0xb566e66b
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x4c], 0x5555d5df
mov byte [ebp - 0x1d], al
cmp byte [ebp - 0x1d], al
je 0x10030d88
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov eax, dword [ebp - 0x470]
xor ecx, ecx
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x7c0]
inc dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x5c]
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x210]
mov eax, dword [ebp - 0x5c]
cmp eax, 0x80a71b66
setl cl
add ecx, dword [ebp - 0x928]
sub ecx, 5
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20c], ecx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff3
jge 0x10030d64
inc dword [ebp - 0x64]
push 0
pop edx
cmp dword [ebp - 0x64], esi
jl 0x10030d02
push 3
pop edi
lea ecx, [ebp - 0x4d4]
call fcn.1002a8c8
inc dword [ebp - 0x24]
mov ecx, 0xc8748afa
cmp dword [ebp - 0x24], 0xd
push 0
pop edx
jl 0x10030c56
or ecx, 0xffffffff
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x2c], edx
push 4
mov dword [ebp - 0x1c], edx
pop eax
cmp dword [ebp - 0x1c], eax
jge 0x10030e59
push eax
pop edi
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x61c], 0x2abac89d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10030e40
push 3
pop edi
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], edx
je 0x10030e98
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], 0x34
jle 0x10030e8d
mov byte [ebp - 0x1d], dl
cmp byte [ebp - 0x1d], 0
je 0x10030e81
push edx
push 0x25f8
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
xor edx, edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x34
jg 0x10030e6a
or ecx, 0xffffffff
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], edx
jmp 0x10030f9e
mov dword [ebp - 0x1c], 0x8d0d3f7b
mov dword [ebp - 0x48], 0xc774
mov dword [ebp - 0x24], 0xe9973063
cmp dword [ebp - 0x1c], edx
jne 0x10030eef
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x18]
sub edx, eax
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setl cl
add ecx, 0x167c28ca
jne 0x10030ee0
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18], 0x79af
xor edx, edx
mov ecx, edx
test eax, eax
je 0x10030ef1
mov ecx, ebx
xor eax, eax
cmp ecx, 0x72c02a3
sete al
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], edi
jg 0x10030e8a
mov dword [ebp - 0x2c], edi
cmp dword [ebp - 0x2c], edx
jl 0x10030f78
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x61c]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x610], eax
test eax, eax
je 0x10030f40
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x61c], edx
mov eax, ebx
jne 0x10030f42
mov eax, edx
neg eax
mov byte [ebp - 0x1d], dl
je 0x10030f57
cmp byte [ebp - 0x1d], 0
je 0x10030f70
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
jmp 0x10030f70
cmp byte [ebp - 0x1d], 0
je 0x10030f63
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x61c], ecx
dec dword [ebp - 0x2c]
push 0
pop edx
jns 0x10030f1b
mov dword [ebp - 0x1c], edx
inc dword [ebp - 0x24]
jmp 0x10030f0a
cmp byte [ebp - 0x1d], 0
je 0x10030f9b
push edx
push edx
push 0x80f
push 0x1a6a
push edx
call dword [sym.imp.USER32.dll_InsertMenuW]
xor edx, edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x18
mov byte [ebp - 0x1d], dl
jl 0x10030f80
cmp byte [ebp - 0x1d], 0
je 0x10030fbb
push 0x8e6
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor edx, edx
mov dword [ebp - 0x10], ebx
or eax, 0xffffffff
mov dword [ebp - 0x3c], 0xfffffffb
mov dword [ebp - 0x24], eax
mov eax, 0xb5e49576
mov dword [ebp - 0x28], 0x924b5411
mov dword [ebp - 0x34], 0xfffe
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x48], 0xd485
mov dword [ebp - 0x1c], edx
jmp 0x10031013
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2ac], 0xa117
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031002
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], 0x5b05
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x3c]
cmp eax, 0x40874b28
setl cl
sub ecx, dword [ebp - 0x3c]
cmp ecx, 0xab227d37
jbe 0x10031050
cmp dword [ebp - 0x28], edx
je 0x10031050
mov edx, ebx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x420], ecx
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x3c], eax
jne 0x100310be
mov dword [ebp - 0x30], 0xec58f553
lea ecx, [ebp - 0x6ac]
mov dword [ebp - 0x30], 6
push ebx
call fcn.10029e7b
mov dword [ebp - 0x1c], 0
jmp 0x100310a1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6ac]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003108e
dec dword [ebp - 0x2ac]
lea ecx, [ebp - 0x6ac]
call fcn.1002a8c8
xor ecx, ecx
jmp 0x1003117f
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x5c], 0x2039ce85
mov dword [ebp - 0x1c], ecx
jmp 0x100310e0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x944], 0x7df39f3c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100310cf
mov byte [ebp - 0x1d], cl
cmp byte [ebp - 0x1d], cl
je 0x100310f5
push ecx
push ecx
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x420], 0xfffffffb
mov eax, dword [ebp - 0x3c]
push 5
pop ecx
sub ecx, eax
mov eax, dword [ebp - 0x2ac]
add eax, ecx
mov ecx, dword [ebp - 0x2c]
imul ecx, eax
mov dword [ebp - 0x5c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x93c], esi
mov eax, dword [ebp - 0x2c]
neg eax
cmp eax, 0x3f2a
mov eax, dword [ebp - 0x2c]
setl cl
xor edx, edx
cmp ecx, eax
setle dl
neg esi
xor eax, eax
cmp esi, edx
setle al
or ecx, 0xffffffff
cmp eax, ecx
jge 0x10031167
xor ecx, ecx
cmp dword [ebp - 0x48], ecx
je 0x10031169
mov eax, ebx
jmp 0x1003116b
xor ecx, ecx
mov eax, ecx
cmp eax, dword [ebp - 0x2c]
jge 0x10031177
mov eax, ecx
cmp dword [ebp - 0x48], ecx
je 0x10031179
mov eax, ebx
push 2
mov dword [ebp - 0x24], eax
pop esi
mov byte [ebp - 0x1d], cl
cmp byte [ebp - 0x1d], 0
je 0x10031196
push 0x1905
push ecx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x1c], ecx
jmp 0x100311ab
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x6b4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1003119e
cmp dword [ebp - 0x6b4], ecx
je 0x1003124d
mov dword [ebp - 0x28], 0x25e4
cmp dword [ebp - 0x28], 0x999
jge 0x10031227
lea eax, [ebp - 0x2b8]
push eax
lea eax, [ebp - 0xf8]
push eax
push 0x10008128
call fcn.1004f9f0
mov esi, dword [ebp - 0x2b8]
add esp, 0xc
or eax, 0xffffffff
mov edi, eax
jmp 0x10031206
mov edx, dword [ebp - 0xf8]
mov ecx, esi
call fcn.1003068e
test al, al
jne 0x10031210
dec esi
cmp esi, dword [ebp - 0xf8]
jg 0x100311f4
jmp 0x10031212
mov edi, esi
push edi
push 0x10008130
call fcn.1004fd81
pop ecx
pop ecx
push 3
pop edi
push 2
xor ecx, ecx
pop esi
mov byte [ebp - 0x1d], cl
cmp byte [ebp - 0x1d], 0
je 0x10031244
push ecx
push 0x16b5
push ecx
push 0x59b
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
xor ecx, ecx
mov dword [ebp - 0x34], 0x57a7c203
jmp 0x1003125a
mov dword [ebp - 0x28], 0x666a756a
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x48], ebx
mov eax, 0xda0bdbd
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x34], 0xf82ea917
push 4
mov dword [ebp - 0x1c], ecx
pop ecx
jmp 0x10031299
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x7e0], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003128c
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x16c]
cmp eax, ecx
setne dl
xor eax, eax
cmp edx, 0x20b5
mov dword [ebp - 0x7dc], edx
setne al
xor ecx, ecx
cmp eax, 0x34c266d8
setl cl
sub ecx, 0xd3be
jne 0x100312dd
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x170], eax
je 0x100312df
mov edx, ebx
mov eax, dword [ebp - 0x16c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x16c]
setg cl
sub eax, ecx
mov ecx, dword [ebp - 0x16c]
neg eax
sbb eax, eax
inc eax
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
imul ecx, eax
xor eax, eax
cmp ecx, 5
setge al
xor edx, edx
lea ecx, [eax + 0xbf0a]
mov eax, dword [ebp - 0x164]
cmp ecx, eax
setg dl
cmp edx, 0x7974498b
jne 0x10031332
mov eax, dword [ebp - 0x7dc]
mov eax, dword [ebp - 0x16c]
xor edx, edx
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x24], 0x1ca57882
mov dword [ebp - 0x1c], edx
jmp 0x10031359
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x95c], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1003134c
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x7dc], ebx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jle 0x10031386
mov ecx, edx
cmp dword [ebp - 0x24], edx
je 0x10031388
mov ecx, ebx
mov eax, dword [ebp - 0x34]
imul eax, ecx
cmp eax, dword [ebp - 0x34]
jle 0x1003139d
mov eax, edx
cmp dword [ebp - 0x16c], edx
je 0x1003139f
mov eax, ebx
xor ecx, ecx
or edx, 0xffffffff
cmp eax, edx
mov eax, dword [ebp - 0x10]
push edi
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setg bl
xor ecx, ecx
cmp ebx, eax
setne cl
mov dword [ebp - 0x954], ecx
lea ecx, [ebp - 0x4ec]
call fcn.10029e7b
xor ebx, ebx
inc ebx
xor edx, edx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], edx
jmp 0x100313fc
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4ec]
mov dword [eax + ecx*4], 0x7f825e7a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100313e9
mov dword [ebp - 0x18], edx
jmp 0x10031419
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4ec]
mov dword [eax + ecx*4], 0x13dce9d0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10031406
mov dword [ebp - 0x18], edx
jmp 0x1003146a
push edi
lea ecx, [ebp - 0x5e8]
call fcn.10029e7b
mov dword [ebp - 0x1c], 0
jmp 0x1003144b
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5e8]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10031438
mov eax, dword [ebp - 0x5e8]
lea ecx, [ebp - 0x5e8]
mov byte [ebp - 4], bl
mov dword [eax + 4], ebx
call fcn.1002a8c8
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff0
jne 0x10031423
or eax, 0xffffffff
lea ecx, [ebp - 0x4ec]
mov dword [ebp - 4], eax
call fcn.1002a8c8
xor ecx, ecx
mov dword [ebp - 0x18], ecx
jmp 0x10031495
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x218], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10031488
push ebx
lea ecx, [ebp - 0x5ac]
call fcn.10029e7b
push 7
pop eax
mov dword [ebp - 0x24], eax
xor edx, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], edx
jmp 0x100314c9
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5ac]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100314b6
mov dword [ebp - 0x24], edx
jmp 0x100314e6
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x5ac]
mov dword [eax + ecx*4], 0x622ba394
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x100314d3
lea ecx, [ebp - 0x5ac]
call fcn.1002a8c8
xor edx, edx
or ecx, 0xffffffff
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], ebx
jge 0x10031512
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd4], ecx
inc dword [ebp - 0x18]
jmp 0x100314fe
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0xd7d490c4
mov dword [ebp - 0x30], 0xa35f394
mov dword [ebp - 0x30], 0x31d83293
mov dword [ebp - 0x30], 0xc1574781
mov dword [ebp - 0x30], 0xd76715f0
mov dword [ebp - 0x30], 0xa4bedcc5
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x18], edx
jmp 0x10031554
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa10], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10031547
mov dword [ebp - 0x18], edx
jmp 0x1003156b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6c4], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003155e
inc dword [ebp - 0x34]
mov esi, 0xffff
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0xd
jge 0x10034158
lea esi, [ebp - 0x62c]
lea edi, [ebp - 0x61c]
jmp 0x100315a1
mov dword [ebp - 0x64], 0x91a049fe
mov dword [ebp - 0x64], edx
cmp dword [ebp - 0x64], 0xffffffe6
je 0x10031603
push ebx
lea ecx, [ebp - 0x330]
call fcn.10029e7b
xor edx, edx
mov dword [ebp - 0x1c], edx
jmp 0x100315d7
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x330]
mov dword [eax + ecx*4], 3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100315c4
mov eax, dword [ebp - 0x330]
lea ecx, [ebp - 0x330]
cmp dword [eax], edx
jne 0x100315fc
call fcn.1002a8c8
dec dword [ebp - 0x64]
cmp dword [ebp - 0x64], 0xffffffe6
jne 0x100315b1
jmp 0x10031601
call fcn.1002a8c8
xor edx, edx
mov eax, 0xc8748afa
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], eax
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x1c], 0x9b55bb2c
push 3
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], edx
pop ecx
jmp 0x10031643
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3c0], 0x9351
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031632
mov dword [ebp - 0x1c], edx
jmp 0x100316dc
mov dword [ebp - 0x18], 0x417be18
mov dword [ebp - 0x38], 0x3bed162c
mov dword [ebp - 0x18], edx
jmp 0x100316d3
mov dword [ebp - 0x50], 0xfffffffe
mov dword [ebp - 0x34], 0xce34aafb
mov dword [ebp - 0x4c], 0xfffffffb
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x3c0], edx
jne 0x100316c4
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x3b8]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3c0], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x3c0], edx
jne 0x100316c1
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x10031663
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1b
jle 0x10031650
movdqa xmm0, xmmword [0x100087d0]
push ecx
push edi
mov dword [ebp - 0x2c0], ebx
lea ecx, [ebp - 0x5f4]
push esi
movdqu xmmword [ebp - 0x62c], xmm0
call fcn.10029f0a
push 3
pop esi
push 7
pop eax
push 4
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x504]
mov dword [ebp - 0x18], eax
pop eax
push eax
call fcn.10029e7b
push 4
pop eax
mov byte [ebp - 4], al
xor edx, edx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], 0xcdba0066
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], eax
jge 0x1003175f
push eax
pop esi
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x504]
mov dword [eax + ecx*4], 0xc353
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031744
push 3
pop esi
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], esi
jg 0x10031973
mov edi, dword [ebp - 0x5f4]
or ecx, 0xffffffff
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], 0x7b6a
push 7
mov dword [ebp - 0x30], 0x97618de0
pop eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x44], edx
jmp 0x1003179d
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x1c8], esi
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], esi
jl 0x10031790
mov dword [ebp - 0x44], edx
jmp 0x100317b4
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x754], ecx
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 2
jl 0x100317a7
mov edx, dword [ebp - 0x18]
push 7
pop eax
cmp eax, dword [edi + 8]
mov eax, dword [ebp - 0x5f4]
sbb ecx, ecx
inc ecx
cmp dword [eax + edx*4], ecx
jg 0x100317da
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp dword [edi + 4], edx
mov byte [ebp - 0x1d], dl
je 0x10031800
cmp byte [ebp - 0x1d], dl
je 0x100317f5
push edx
call dword [sym.imp.GDI32.dll_CreateBrushIndirect]
xor edx, edx
cmp dword [ebp - 0x18], edx
jne 0x10031967
jmp 0x10031823
cmp byte [ebp - 0x1d], dl
je 0x10031823
push 0xea8
push 0x1467
push edx
push edx
push 0xac2
push 0x1704
call dword [sym.imp.USER32.dll_ToUnicode]
xor edx, edx
mov dword [ebp - 0x1c8], edx
cmp dword [ebp - 0x1c8], esi
jg 0x10031967
mov esi, dword [ebp - 0x504]
mov dword [ebp - 0x30], 0x7d2a7e9f
lea ecx, [ebp - 0x378]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x4c], 0xfffffffb
mov dword [ebp - 0x30], edx
push 2
call fcn.10029e7b
push ecx
lea eax, [ebp - 0x898]
mov byte [ebp - 4], 5
movdqa xmm0, xmmword [0x100087f0]
lea ecx, [ebp - 0x7a8]
push eax
lea eax, [ebp - 0x8a8]
push eax
movdqu xmmword [ebp - 0x8a8], xmm0
call fcn.10029f0a
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 2
jge 0x100318af
or edx, 0xffffffff
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x378]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10031898
xor ecx, ecx
mov eax, dword [ebp - 0x7a8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x750], eax
test eax, eax
je 0x100318d0
mov eax, dword [ebp - 0x1c8]
mov ecx, ebx
mov eax, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x378]
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x28]
sete dl
xor ecx, ecx
cmp edx, eax
mov dword [edi + 8], edx
sete cl
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x378]
imul ecx, dword [eax]
add ecx, 0xb237
mov dword [ebp - 0x34], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x34]
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, dword [esi + 0xc]
setge cl
xor eax, eax
cmp ecx, dword [edi + 4]
setl al
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x1d], 0
cmp byte [ebp - 0x1d], 0
je 0x10031931
push 0xefc
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
lea ecx, [ebp - 0x7a8]
call fcn.1002a8c8
push 4
pop eax
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], al
call fcn.1002a8c8
inc dword [ebp - 0x1c8]
push 3
pop eax
push 0
pop edx
cmp dword [ebp - 0x1c8], eax
jle 0x1003183b
push eax
pop esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10031771
lea ecx, [ebp - 0x504]
call fcn.1002a8c8
or edi, 0xffffffff
lea ecx, [ebp - 0x5f4]
mov dword [ebp - 4], edi
call fcn.1002a8c8
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], 0x9f4288a1
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x18], ecx
jmp 0x100319b0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x298], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x100319a3
push 4
mov dword [ebp - 0x18], ecx
pop edx
jmp 0x100319ce
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa44], 0xb283066c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100319bd
mov byte [ebp - 0x1d], cl
cmp byte [ebp - 0x1d], cl
je 0x100319e4
push ecx
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x34], 0xfffffff7
xor ecx, ecx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x298], edx
mov eax, dword [ebp - 0x5c]
cmp edx, eax
push esi
setne cl
mov dword [ebp - 0x5c], ecx
lea ecx, [ebp - 0x51c]
mov dword [ebp - 0x30], 0xe780ca9f
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x34], 0xf425f5f9
mov dword [ebp - 0x30], 0xe86524f2
mov dword [ebp - 0x24], 0x79df9481
call fcn.10029e7b
xor edx, edx
mov dword [ebp - 0x18], edx
jmp 0x10031a40
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa34], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10031a33
mov dword [ebp - 0x18], edx
jmp 0x10031a5d
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x51c]
mov dword [eax + ecx*4], 0x2d14b432
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10031a4a
cmp dword [ebp - 0x2c], edx
je 0x10031a83
mov eax, 0xffff
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x1d], dl
cmp byte [ebp - 0x1d], dl
je 0x10031a7e
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov dword [ebp - 0x24], ebx
jmp 0x10031ae7
mov dword [ebp - 0x50], 0x4c9d8d92
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x2c], edx
jmp 0x10031ab6
mov dword [ebp - 0x28], 0xfffffffe
mov dword [ebp - 0x24], edx
jmp 0x10031aa8
mov dword [ebp - 0x50], 0xfb91e60e
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jle 0x10031a9e
cmp dword [ebp - 0x28], edx
jne 0x10031abc
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffe5
jg 0x10031a92
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], 0xfffffff8
cmp dword [ebp - 0x38], ebx
jg 0x10031ad8
mov eax, ebx
cmp dword [ebp - 0x38], edx
jne 0x10031ada
mov eax, edx
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x51c]
mov dword [eax], ecx
lea ecx, [ebp - 0x51c]
call fcn.1002a8c8
push 7
mov dword [ebp - 0x30], 0x214a9bac
lea ecx, [ebp - 0x5c4]
pop eax
mov dword [ebp - 0x38], 0x2ff18c9a
mov dword [ebp - 0x50], eax
push 2
mov dword [ebp - 0x18], 0xd44f
pop edi
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 0x34], 0x5a52
mov dword [ebp - 0x34], 0x7d3709e8
push edi
call fcn.10029e7b
xor edx, edx
mov dword [ebp - 0x1c], edx
jmp 0x10031b48
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c4]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10031b38
mov dword [ebp - 0x50], 0xdcda
xor ecx, ecx
mov eax, dword [ebp - 0x38]
cmp eax, edi
setne cl
cmp ecx, dword [ebp - 0x50]
jle 0x10031b66
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x38]
mov ecx, 0xffff
mov eax, dword [ebp - 0x38]
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x38], eax
jne 0x10031b83
mov ecx, edx
cmp dword [ebp - 0x18], edx
je 0x10031b85
mov ecx, ebx
or eax, 0xffffffff
sub eax, ecx
cmp eax, dword [ebp - 0x18]
jle 0x10031b96
mov ecx, edx
cmp dword [ebp - 0x18], edx
je 0x10031b98
mov ecx, ebx
xor eax, eax
cmp ecx, 0x637b3047
setle al
xor ebx, ebx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setle bl
sub ebx, dword [ebp - 0x18]
neg ebx
sbb ebx, ebx
inc ebx
sub ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
cmp ebx, eax
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
or edx, 0xffffffff
cmp ecx, edx
setge al
xor edx, edx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp eax, 0x3ea3
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 5
setl al
xor ecx, ecx
cmp eax, 0x3be41b0c
setle cl
add ecx, dword [ebp - 0x18]
je 0x10031c1f
cmp dword [ebp - 0x18], 0
je 0x10031c1f
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x10031c24
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x34], eax
xor edx, edx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
lea ecx, [ebp - 0x5c4]
setle dl
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5c4]
neg edx
sbb edx, edx
inc edx
mov dword [eax + 4], edx
call fcn.1002a8c8
mov dword [ebp - 0x30], 0x9e95d1c5
xor ecx, ecx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], 0xbe945d44
mov dword [ebp - 0x2c], 0x80a25601
mov dword [ebp - 0x18], ecx
jmp 0x10031c83
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x768], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10031c72
mov dword [ebp - 0x18], ecx
jmp 0x10031c9e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbc], 0x4cd45360
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10031c8d
mov dword [ebp - 0xb8], ebx
cmp dword [ebp - 0xb8], ecx
jl 0x10031cd0
mov byte [ebp - 0x1d], cl
cmp byte [ebp - 0x1d], 0
je 0x10031cc8
push ecx
push 0x211c
call dword [sym.imp.GDI32.dll_SelectClipRgn]
xor ecx, ecx
dec dword [ebp - 0xb8]
jns 0x10031cb1
mov dword [ebp - 0x3c], 0xfffffff1
cmp dword [ebp - 0x3c], 0xd
jle 0x10031e68
push edi
lea ecx, [ebp - 0x3a8]
call fcn.10029e7b
mov dword [ebp - 0x24], 0xfffffff9
xor edx, edx
mov dword [ebp - 0x38], 0xd09e
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x4c], 0x3ecb
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x18], edx
jmp 0x10031d22
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x6d0]
push esi
call fcn.10029e7b
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x870]
mov dword [ebp - 0x24], 0x2667a876
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x38], 0xfffffffa
mov dword [ebp - 0x30], 0xbb002891
push esi
call fcn.10029e7b
push 7
pop eax
mov byte [ebp - 4], al
xor edx, edx
mov dword [ebp - 0x30], 0x42b6
mov dword [ebp - 0x18], edx
jmp 0x10031ed1
push ebx
lea ecx, [ebp - 0x4a4]
call fcn.10029e7b
xor edx, edx
mov dword [ebp - 0x10], edx
jmp 0x1003417a
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4a4]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003416b
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], dl
je 0x1003418e
push edx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
mov eax, dword [ebp - 0x4a4]
lea ecx, [ebp - 0x4a4]
dec dword [eax]
call fcn.1002a8c8
push ebx
lea ecx, [ebp - 0x4b0]
call fcn.10029e7b
xor edx, edx
mov dword [ebp - 0x10], edx
jmp 0x100341c3
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4b0]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100341b4
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], dl
je 0x100341d7
push edx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
mov eax, dword [ebp - 0x4b0]
lea ecx, [ebp - 0x4b0]
dec dword [eax]
call fcn.1002a8c8
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [ebp - 0x3c], 0xb77278fa
mov dword [ebp - 0x28], 0x7609fa85
mov dword [ebp - 0x10], ecx
jmp 0x1003421a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1d4], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003420d
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x1d4], ecx
je 0x10034231
mov eax, ebx
cmp dword [ebp - 0x3c], ecx
jne 0x10034233
mov eax, ecx
cmp eax, 0x93d0b548
mov eax, dword [ebp - 0x1d0]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setne dl
cmp edx, dword [ebp - 0x1d0]
jg 0x1003425e
cmp dword [ebp - 0x1d0], 0
je 0x1003425e
mov eax, ebx
jmp 0x10034260
xor eax, eax
or ecx, 0xffffffff
cmp eax, ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x1d0]
sub ecx, eax
sub edx, ecx
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 0xe10e
setl al
imul eax, eax, 0x3494
test eax, eax
je 0x1003429c
mov eax, dword [ebp - 0x1cc]
mov esi, dword [sym.imp.GDI32.dll_GetCharABCWidthsFloatA]
xor eax, eax
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp dword [ebp - 0x28], eax
je 0x100342cb
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x100342f8
push eax
push 0x6b3
push 0x20b6
push 0x146f
call esi
jmp 0x100342f8
mov dword [ebp - 0x3c], eax
jmp 0x100342f2
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100342ef
push 0x17dc
push eax
push 0x80
push 0xea1
push eax
push eax
call edi
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x17
jne 0x100342d0
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x3c], 0xb77278fa
push 3
mov dword [ebp - 0x28], 0x7609fa85
mov dword [ebp - 0x10], ecx
pop edx
jmp 0x10034326
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1e0], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10034319
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x1e0], ecx
je 0x1003433d
mov eax, ebx
cmp dword [ebp - 0x3c], ecx
jne 0x1003433f
mov eax, ecx
cmp eax, 0x93d0b548
mov eax, dword [ebp - 0x1dc]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setne dl
cmp edx, dword [ebp - 0x1dc]
jg 0x1003436a
cmp dword [ebp - 0x1dc], 0
je 0x1003436a
mov eax, ebx
jmp 0x1003436c
xor eax, eax
or ecx, 0xffffffff
cmp eax, ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x1dc]
sub ecx, eax
sub edx, ecx
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 0xe10e
setl al
imul eax, eax, 0x3494
test eax, eax
je 0x100343a8
mov eax, dword [ebp - 0x1d8]
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x100343cb
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x100343f8
push eax
push 0x6b3
push 0x20b6
push 0x146f
call esi
jmp 0x100343f8
mov dword [ebp - 0x3c], eax
jmp 0x100343f2
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100343ef
push 0x17dc
push eax
push 0x80
push 0xea1
push eax
push eax
call edi
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x17
jne 0x100343d0
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x1dc], eax
push ebx
call fcn.10029e7b
xor edx, edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x30], 0x1a93
cmp dword [ebp - 0x30], 0x457
jge 0x10034563
lea eax, [ebp - 0xa8]
push eax
push 0x10008114
call fcn.1004f9f0
mov eax, dword [ebp - 0xa8]
pop ecx
pop ecx
test eax, eax
je 0x1003455a
dec eax
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x1ac]
push eax
lea eax, [ebp - 0x194]
push eax
push 0x10008138
call fcn.1004f9f0
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x198]
push eax
push 0x10008450
call fcn.1004f9f0
mov edx, dword [ebp - 0x194]
add esp, 0x28
mov esi, dword [ebp - 0x174]
mov edi, dword [ebp - 0x1ac]
cmp dword [ebp - 0x198], edx
jg 0x100344c7
cmp dword [ebp - 0x18c], edi
jg 0x100344c7
cmp dword [ebp - 0x1a4], esi
jle 0x100344c9
xor bl, bl
sub edx, dword [ebp - 0x198]
sub edi, dword [ebp - 0x18c]
sub esi, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x1a0]
mov eax, ecx
cmp edx, ecx
movzx ebx, bl
cmovl eax, edx
sub ecx, eax
sub edx, eax
xor eax, eax
mov dword [ebp - 0x194], edx
mov edx, dword [ebp - 0x178]
cmp esi, ecx
mov dword [ebp - 0x1a0], ecx
cmovl ebx, eax
sub esi, ecx
cmp edi, edx
movzx ecx, bl
mov eax, edx
cmovl eax, edi
sub edx, eax
sub edi, eax
xor eax, eax
mov dword [ebp - 0x1ac], edi
cmp esi, edx
mov dword [ebp - 0x178], edx
cmovl ecx, eax
sub esi, edx
test cl, cl
mov dword [ebp - 0x174], esi
mov ecx, 0x10008184
mov eax, 0x10008180
cmove eax, ecx
push eax
call fcn.100500e1
mov eax, dword [ebp - 0xa8]
pop ecx
push 1
pop ebx
test eax, eax
jne 0x10034447
dec eax
xor edx, edx
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x10], edx
jmp 0x1003457e
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x27c]
mov dword [eax + ecx*4], 0x97f6af11
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003456b
mov eax, dword [ebp - 0x27c]
mov dword [eax], edx
push 3
mov dword [ebp - 0x10], edx
pop ecx
jmp 0x100345a4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x710], 0x8cd54673
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10034593
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp eax, 9
mov eax, dword [ebp - 0x27c]
setne cl
xor edx, edx
imul ecx, ecx, 0xfff8
cmp dword [eax], ecx
mov eax, dword [ebp - 0x710]
setge dl
xor ecx, ecx
sub edx, 0x92e6
cmp edx, eax
sete cl
cmp ecx, 0x684593f6
jne 0x100345ee
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x70c], eax
je 0x100345f0
mov ecx, ebx
mov eax, dword [ebp - 0x27c]
xor edx, edx
push 0
mov esi, dword [eax]
mov eax, dword [ebp - 0x38]
imul eax, ecx
sub eax, dword [ebp - 0x38]
cmp eax, 0x68993dd6
mov eax, dword [ebp - 0x38]
setg dl
sub edx, 0xc0a9
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, esi
imul esi, esi
cmp esi, edx
setl cl
xor edx, edx
cmp ecx, eax
setle dl
inc edx
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x27c]
pop edx
inc dword [eax]
cmp dword [eax], 2
jl 0x1003458b
lea ecx, [ebp - 0x27c]
call fcn.1002a8c8
push ebx
lea ecx, [ebp - 0x4f8]
call fcn.10029e7b
mov dword [ebp - 4], 0x15
xor eax, eax
mov dword [ebp - 0x30], ebx
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1003468c
push eax
push eax
push 0x1bbb
push eax
push eax
call dword [sym.imp.USER32.dll_CreateDialogIndirectParamA]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100346a9
push ebx
push eax
push 0x15a7
push 0x225
call dword [sym.imp.USER32.dll_GetDlgItemInt]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x100346c1
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4f8]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100346ae
push ebx
lea ecx, [ebp - 0x4c8]
call fcn.10029e7b
mov dword [ebp - 0x30], 0x45c1d102
xor edx, edx
push 8
pop eax
mov dword [ebp - 0x7fc], eax
mov dword [ebp - 0x7f8], eax
mov dword [ebp - 0x7f4], eax
mov dword [ebp - 0x7f0], eax
mov dword [ebp - 0x10], edx
jmp 0x1003470e
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4c8]
mov dword [eax + ecx*4], 0xd5e48d32
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100346fb
mov eax, dword [ebp - 0x4c8]
lea ecx, [ebp - 0x4c8]
mov byte [ebp - 4], 0x15
mov dword [eax], edx
call fcn.1002a8c8
mov edi, dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
push 3
pop esi
je 0x10034905
mov dword [ebp - 0x2c], 0xfffffff6
lea ecx, [ebp - 0x39c]
or eax, 0xffffffff
mov dword [ebp - 0x10], 5
mov dword [ebp - 0x1c], eax
push esi
call fcn.10029e7b
push 2
lea ecx, [ebp - 0x724]
mov byte [ebp - 4], 0x17
call fcn.10029e7b
xor edx, edx
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x3c], edx
jmp 0x1003478c
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x39c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jl 0x1003477d
mov dword [ebp - 0x3c], edx
jmp 0x100347a5
push 4
pop eax
push eax
lea ecx, [ebp - 0x4e0]
call fcn.10029e7b
xor edx, edx
mov dword [ebp - 0x48], 8
mov dword [ebp - 0x10], edx
jmp 0x10034931
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4e0]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
push 4
pop eax
cmp dword [ebp - 0x10], eax
jl 0x10034922
mov dword [ebp - 0x48], esi
cmp dword [ebp - 0x48], edx
jl 0x10034966