Function at 0x10030e31
Capabilities:
Check os version
Create directory
Enumerate gui resources
Get common file path
Get file attributes

Disassembly:
mov eax, 0x10066871
call fcn.100655b8
mov eax, 0x14a5c
call fcn.10061ce0
push ebx
push esi
push edi
push 3
pop edi
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x5c8]
push edi
mov byte [ebp - 0x51], dl
call fcn.100243cd
xor edx, edx
mov dword [ebp - 0x10], 7
push 1
mov dword [ebp - 0x18], edx
pop ebx
jmp 0x10030e7d
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5c8]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10030e6e
mov ebx, dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], edx
jl 0x10030ea9
mov byte [ebp - 0x31], dl
cmp byte [ebp - 0x31], 0
je 0x10030ea4
push edx
push edx
push edx
call ebx
xor edx, edx
dec dword [ebp - 0x10]
jns 0x10030e94
mov dword [ebp - 0x10], edx
mov esi, 0xd23b6182
jmp 0x10030ec2
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x5c8]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10030eb3
lea ecx, [ebp - 0x5c8]
call fcn.100244a4
push edi
lea ecx, [ebp - 0x5e0]
call fcn.100243cd
xor edx, edx
mov dword [ebp - 0x10], 7
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], edi
jge 0x10030f0b
xor edi, edi
inc edi
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5e0]
push 3
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x18]
pop eax
cmp dword [ebp - 0x18], eax
jl 0x10030ef2
jmp 0x10030f0e
xor edi, edi
inc edi
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], edx
jl 0x10030f2f
mov byte [ebp - 0x31], dl
cmp byte [ebp - 0x31], 0
je 0x10030f2a
push edx
push edx
push edx
call ebx
xor edx, edx
dec dword [ebp - 0x10]
jns 0x10030f1a
xor ebx, ebx
push 3
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x10030f48
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x5e0]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10030f39
lea ecx, [ebp - 0x5e0]
call fcn.100244a4
mov dword [ebp - 0x2c], 0x1a37
cmp dword [ebp - 0x2c], 0xbfc
jge 0x1003105a
push 0x11014628
push 0x10ffbde0
push 0x10007a54
call fcn.1004e57b
mov edx, dword [0x10ffbde4]
xor eax, eax
or dword [ebp - 0x38], 0xffffffff
add esp, 0xc
or dword [ebp - 0x18], 0xffffffff
mov ebx, edi
mov ecx, dword [0x10ffbde0]
mov dword [ebp - 0x30], edx
cmp eax, edx
jg 0x1003104d
jl 0x10030fb0
cmp ebx, ecx
ja 0x1003104d
mov esi, eax
mov edi, ecx
mov ecx, edi
add ecx, ebx
push 0
push 2
adc edx, esi
push edx
push ecx
call fcn.100655e0
mov ecx, edx
mov dword [ebp - 0x28], eax
push ecx
push eax
mov dword [ebp - 0x3c], ecx
call fcn.10030adf
pop ecx
pop ecx
test al, al
je 0x10030ff7
mov eax, dword [ebp - 0x28]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x38], eax
mov edi, eax
sub edi, ecx
mov ecx, dword [ebp - 0x3c]
mov edx, ecx
mov dword [ebp - 0x18], ecx
sbb edx, 0
mov dword [ebp - 0x30], edx
jmp 0x1003100e
mov ebx, dword [ebp - 0x28]
xor eax, eax
mov esi, dword [ebp - 0x3c]
inc eax
mov edx, dword [ebp - 0x30]
add ebx, eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x18]
adc esi, 0
cmp esi, edx
jl 0x10030fb4
jg 0x10031018
cmp ebx, edi
jbe 0x10030fb4
mov esi, dword [0x10ffbde0]
and eax, ecx
mov edi, dword [0x10ffbde4]
or edx, 0xffffffff
cmp eax, edx
je 0x1003104d
sub esi, dword [ebp - 0x38]
push 0
sbb edi, ecx
xor eax, eax
inc eax
add esi, eax
pop ebx
adc edi, ebx
push edi
push esi
push 0x10007780
call fcn.1004eb95
add esp, 0xc
jmp 0x1003105a
push 0x100077e4
call fcn.1004f141
pop ecx
xor ebx, ebx
mov dword [ebp - 0x10], ebx
xor ecx, ecx
mov dword [ebp - 0x38], 0xb4dfecbe
inc ecx
mov dword [ebp - 0x18], ebx
jmp 0x1003107d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x84], 0x4a8c6a53
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003106c
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x100310a6
push 0x1a2b
push ebx
push 0x2327
push ebx
push 0x1a6e
push ebx
call dword [sym.imp.KERNEL32.dll_CompareStringW]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], ebx
jg 0x10031149
jmp 0x100310b7
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x84]
neg eax
je 0x100310f5
cmp dword [ebp - 0x10], ebx
je 0x100310d7
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x84]
mov eax, ecx
cmp dword [ebp - 0x38], ebx
jne 0x100310f7
mov eax, ebx
imul ecx, eax, 0xe3f9
xor edx, edx
mov eax, dword [ebp - 0x38]
cmp ecx, eax
setge dl
cmp edx, 0x2e58
jg 0x1003111b
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x84], ebx
je 0x10031127
cmp dword [ebp - 0x10], ebx
je 0x10031127
xor eax, eax
lea ecx, [eax + 1]
jmp 0x10031129
mov ecx, ebx
xor eax, eax
test ecx, ecx
setle al
sub eax, 0x836ccb03
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x100310b4
mov dword [ebp - 0x10], 0xcd453606
mov dword [ebp - 0x24], 0x7bb7ab61
mov dword [ebp - 0x1c], 0x8d7cbae8
push 3
mov dword [ebp - 0x2c], 0x62a04f77
mov dword [ebp - 0x18], ebx
pop esi
jmp 0x1003117e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5bc], 0xae35
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003116d
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 2
jg 0x10031266
lea esi, [ebp - 0x7c4]
lea edi, [ebp - 0x7b4]
movdqa xmm0, xmmword [0x10007e20]
push ecx
push edi
push esi
lea ecx, [ebp - 0x574]
movdqu xmmword [ebp - 0x7c4], xmm0
call fcn.1002447e
push 2
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x100311d3
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6c4], 0xc61c71bc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100311c2
mov eax, dword [ebp - 0x574]
mov dword [eax], ebx
mov dword [ebp - 0x20], 0xe8588d0d
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
jl 0x1003120a
mov dword [ebp - 0x6c4], 0x45625132
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x5bc], ebx
jne 0x1003120a
dec dword [ebp - 0x20]
jns 0x100311ef
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ecx
jg 0x10031223
or eax, 0xffffffff
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x28]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jle 0x10031215
mov eax, dword [ebp - 0x574]
inc dword [eax]
cmp dword [eax], ecx
jle 0x100311e0
xor ecx, ecx
mov dword [ebp - 0x24], ebx
inc ecx
jmp 0x10031246
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x5bc], ebx
jne 0x1003124b
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jle 0x10031237
lea ecx, [ebp - 0x574]
call fcn.100244a4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x1003119c
push 3
pop esi
mov dword [ebp - 0x10], 0x14
jmp 0x100312b2
mov dword [ebp - 0x24], ebx
jmp 0x10031285
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x5bc], 0x20d7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10031274
mov dword [ebp - 0x24], ebx
jmp 0x100312a9
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], ebx
jmp 0x100312a0
mov dword [ebp - 0x2c], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1b
je 0x1003129a
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffffc
jle 0x1003128f
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 9
jl 0x1003126f
xor ecx, ecx
mov dword [ebp - 0x38], 0x59d568d5
mov dword [ebp - 0x18], ebx
inc ecx
jmp 0x100312d8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc4], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100312c7
mov dword [ebp - 0xc4], 0xae355683
push 6
pop edi
cmp dword [ebp - 0xc4], ebx
je 0x1003130a
mov dword [ebp - 0x2c], 0xfffffffd
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
jmp 0x10031334
mov dword [ebp - 0x18], ebx
jmp 0x10031320
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x8a4], 0xc71bc7dc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003130f
mov eax, dword [ebp - 0xc4]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x8a4], eax
push esi
lea ecx, [ebp - 0x5a4]
call fcn.100243cd
mov dword [ebp - 4], ebx
or eax, 0xffffffff
mov dword [ebp - 0x28], 0xe42a43d9
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x2c], 0x1725
cmp dword [ebp - 0x2c], 0xf27
jge 0x10031401
push 0x10e13524
push 0x10007748
call fcn.1004e57b
mov eax, dword [0x10e13524]
pop ecx
pop ecx
test eax, eax
je 0x100313fb
mov esi, 0x10ffbf80
dec eax
push esi
push 0x100077a0
mov dword [0x10e13524], eax
call fcn.1004e57b
push esi
call fcn.1004e4f0
add esp, 0xc
mov dword [0x11014624], eax
mov dword [0x11014728], ebx
mov byte [0x1085a3f1], bl
call fcn.10030b5e
mov ecx, dword [0x11014728]
cmp ecx, dword [0x11014624]
movzx edx, byte [0x1085a3f1]
push 1
pop ecx
cmovne edx, ecx
mov byte [0x1085a3f1], dl
test dl, dl
je 0x100313e2
push 0x10007a60
call fcn.1004f141
jmp 0x100313ee
push eax
push 0x10007750
call fcn.1004eb95
pop ecx
mov eax, dword [0x10e13524]
pop ecx
test eax, eax
jne 0x10031383
push 3
pop esi
dec eax
mov dword [0x10e13524], eax
mov dword [ebp - 0x2c], 0x9f58382b
lea ecx, [ebp - 0x418]
push esi
call fcn.100243cd
mov dword [ebp - 0x3c], 0xa1405524
mov dword [ebp - 0x50], 0xaac8
mov dword [ebp - 0x10], ebx
jmp 0x10031438
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x88c], 0xc48b1647
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10031427
mov dword [ebp - 0x10], ebx
jmp 0x10031455
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x418]
mov dword [eax + ecx*4], 0x20f746e3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10031442
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov edx, 0xae7b79f6
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, edx
mov edx, 0x80d416db
setge cl
mov dword [ebp - 0x50], edx
sub ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
inc ecx
cmp edx, eax
sbb eax, eax
inc eax
add ecx, eax
sub ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x418]
sub ecx, 0x7af5af8b
cmp ecx, 0xa2b82c44
sbb ecx, ecx
inc ecx
mov dword [eax + 4], ecx
xor eax, eax
inc eax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x100314e4
push 0x134
push ebx
push 0x336
push 0x116a
push 0x1021
push ebx
push 0x509
push 0x1812
push 0x20c6
call dword [sym.imp.USER32.dll_DrawIconEx]
lea ecx, [ebp - 0x418]
call fcn.100244a4
mov dword [ebp - 0x24], 7
xor ecx, ecx
mov dword [ebp - 0x10], 0xf6af1124
inc ecx
mov dword [ebp - 0x20], 0x75c19c5a
mov dword [ebp - 0x18], ebx
jmp 0x10031519
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x644], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003150c
mov dword [ebp - 0x10], 0xfffffffe
cmp dword [ebp - 0x10], 0xb
jge 0x1003156b
mov dword [ebp - 0x28], 0xfffffffc
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x1003155c
push ebx
push 0x995
push 0xee8
push 0x6f1
push 0x11cb
push 0xc10
push ebx
call dword [sym.imp.USER32.dll_TrackPopupMenu]
dec dword [ebp - 0x28]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xb
jl 0x1003152b
xor ecx, ecx
inc ecx
mov dword [ebp - 0x10], ebx
jmp 0x100315b5
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jl 0x100315b2
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x100315ad
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x100315a5
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x100315a0
push ebx
push ebx
push ebx
call dword [sym.imp.OLEAUT32.dll_SysFreeString]
dec dword [ebp - 0x18]
jns 0x1003158e
dec dword [ebp - 0x1c]
jns 0x10031583
xor ecx, ecx
inc ecx
dec dword [ebp - 0x20]
jns 0x10031578
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffea
jl 0x10031570
mov dword [ebp - 0x1c], 0xc5a654fd
lea ecx, [ebp - 0x2bc]
mov dword [ebp - 0x38], 0x9fb37b04
mov dword [ebp - 0x10], 0x9226c312
mov dword [ebp - 0x2c], 0x2d714f98
push esi
call fcn.100243cd
mov dword [ebp - 0x18], ebx
jmp 0x100315f7
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2bc]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100315e8
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setg dl
add edx, dword [ebp - 0x10]
je 0x1003161d
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
xor esi, esi
mov eax, dword [ebp - 0x1c]
inc esi
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x2bc]
mov dword [ebp - 0x3c], edi
mov dword [edi + 8], 0xfffffff8
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], ebx
jl 0x100316c1
or eax, 0xffffffff
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], 0x1ae
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2bc]
cmp dword [eax + ecx*4], ebx
je 0x10031669
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x20]
cmp dword [ecx + esi*4], eax
setg dl
xor eax, eax
cmp edx, dword [edi + 8]
setne al
xor esi, esi
inc esi
cmp eax, esi
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], 0xfffffff5
cmp dword [ebp - 0x20], 0x15
jle 0x100316bc
push 8
pop edi
mov dword [ebp - 0x28], edi
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x15
jg 0x100316a7
mov edi, dword [ebp - 0x3c]
dec dword [ebp - 0x10]
jns 0x10031648
lea ecx, [ebp - 0x2bc]
call fcn.100244a4
push 3
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x100316e3
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5a4]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100316d4
mov dword [ebp - 0x2c], 0x2036
cmp dword [ebp - 0x2c], 0x12c5
jge 0x10031814
lea eax, [ebp - 0xb0]
push eax
push 0x1000774c
call fcn.1004e57b
mov eax, dword [ebp - 0xb0]
pop ecx
pop ecx
test eax, eax
je 0x1003180d
dec eax
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0xd4]
push eax
push 0x10007790
call fcn.1004e57b
add esp, 0xc
lea ecx, [ebp - 0x358]
push dword [ebp - 0xd4]
call fcn.100243cd
mov ecx, dword [ebp - 0xd4]
mov eax, ebx
mov dword [ebp - 0x28], eax
test ecx, ecx
jle 0x100317a0
mov esi, dword [ebp - 0x358]
push esi
push 0x1000774c
call fcn.1004e57b
mov eax, dword [esi]
cdq
idiv dword [ebp - 0xd8]
mov eax, dword [ebp - 0x28]
add eax, edx
mov dword [esi], edx
mov edi, dword [ebp - 0xd8]
add esi, 4
cdq
idiv edi
pop ecx
pop ecx
mov ecx, dword [ebp - 0xd4]
inc ebx
mov eax, edx
mov dword [ebp - 0x28], eax
cmp ebx, ecx
jl 0x10031765
jmp 0x100317a6
mov edi, dword [ebp - 0xd8]
cdq
idiv edi
test edx, edx
jne 0x100317e4
mov ebx, dword [ebp - 0x358]
xor eax, eax
mov edx, eax
test ecx, ecx
jle 0x100317dc
cmp dword [ebx + edx*4], eax
jne 0x100317c5
inc edx
cmp edx, ecx
jl 0x100317bb
test ecx, ecx
jle 0x100317dc
lea esi, [ecx - 1]
lea esi, [ebx + esi*4]
cmp dword [esi], 0
jne 0x100317dc
inc eax
sub esi, 4
cmp eax, ecx
jl 0x100317cf
cmp edx, eax
cmovl eax, edx
sub ecx, eax
dec ecx
push ecx
push 0x10007754
call fcn.1004eb95
pop ecx
pop ecx
lea ecx, [ebp - 0x358]
call fcn.100244a4
mov eax, dword [ebp - 0xb0]
push 0
pop ebx
test eax, eax
jne 0x1003171d
dec eax
mov dword [ebp - 0xb0], eax
push 2
mov dword [ebp - 0x10], ebx
pop ecx
jmp 0x1003182d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x67c], 0x5540d7f8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1003181c
mov dword [ebp - 0x10], ebx
jmp 0x10031848
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf0], 4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10031837
mov dword [ebp - 0xf0], ebx
jmp 0x1003186c
mov eax, dword [ebp - 0xf0]
mov dword [ebp + eax*4 - 0x67c], 0x13dce9d0
inc dword [ebp - 0xf0]
cmp dword [ebp - 0xf0], ecx
jl 0x10031855
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], ebx
jl 0x10031ccd
lea esi, [ebp - 0x620]
lea edi, [ebp - 0x610]
mov dword [ebp - 0x10], ebx
xor edx, edx
mov dword [ebp - 0x38], 0xb4dfecbe
inc edx
mov dword [ebp - 0x18], ebx
jmp 0x100318af
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x88], 0x4a8c6a53
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1003189e
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x100318d8
push 0x1a2b
push ebx
push 0x2327
push ebx
push 0x1a6e
push ebx
call dword [sym.imp.KERNEL32.dll_CompareStringW]
xor edx, edx
inc edx
mov dword [ebp - 0x10], ebx
jmp 0x1003196c
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x88]
neg eax
je 0x1003191e
cmp dword [ebp - 0x10], ebx
je 0x10031900
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x88]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x88]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x88]
mov eax, edx
cmp dword [ebp - 0x38], ebx
jne 0x10031920
mov eax, ebx
imul ecx, eax, 0xe3f9
xor edx, edx
mov eax, dword [ebp - 0x38]
cmp ecx, eax
setge dl
cmp edx, 0x2e58
jg 0x10031944
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x88], ebx
je 0x10031950
cmp dword [ebp - 0x10], ebx
je 0x10031950
xor edx, edx
inc edx
mov ecx, edx
jmp 0x10031955
xor edx, edx
mov ecx, ebx
inc edx
xor eax, eax
test ecx, ecx
setle al
sub eax, 0x836ccb03
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x100318e0
movdqa xmm0, xmmword [0x10007e00]
push ecx
push edi
mov byte [ebp - 0x11], bl
lea ecx, [ebp - 0x784]
mov dword [ebp - 0x1c], edx
push esi
movdqu xmmword [ebp - 0x620], xmm0
call fcn.1002447e
xor ecx, ecx
inc ecx
mov byte [ebp - 4], cl
mov dword [ebp - 0x10], ebx
jmp 0x100319b5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x864], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100319a4
mov dword [ebp - 0x10], ebx
jmp 0x100319cd
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x954], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100319c0
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0xffffffef
jle 0x10031b21
push 3
pop esi
mov dword [ebp - 0x10], 0x3e90a624
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], esi
jg 0x10031b0e
or eax, 0xffffffff
mov dword [ebp - 0x30], 0x64fd9e2a
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x38]
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], ebx
jl 0x10031aff
mov dword [ebp - 0x3c], ebx
lea ecx, [ebp - 0x520]
push 2
call fcn.100243cd
mov dword [ebp - 0x18], ebx
jmp 0x10031a44
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x520]
mov dword [eax + ecx*4], 0x7e80a7c6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10031a31
mov dword [ebp - 0x30], 0xc4307e
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], esi
jg 0x10031ae8
mov esi, dword [ebp - 0x784]
mov edi, dword [ebp - 0x520]
mov dword [ebp - 0x28], 0xfffffff6
xor edx, edx
mov eax, dword [ebp - 0x858]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setne dl
xor ecx, ecx
imul edx, dword [esi + 4]
cmp eax, edx
mov eax, dword [ebp - 0x38]
setl cl
xor edx, edx
cmp ecx, 0xf15c
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x864]
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [edi + 4], eax
mov byte [ebp - 0x31], bl
cmp byte [ebp - 0x31], 0
je 0x10031adb
push ebx
push 0x20cc
push ebx
push 0xb48
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
inc dword [ebp - 0x18]
push 3
pop eax
cmp dword [ebp - 0x18], eax
jle 0x10031a69
push eax
pop esi
lea ecx, [ebp - 0x520]
call fcn.100244a4
dec dword [ebp - 0x20]
jns 0x10031a1c
or eax, 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x10031a03
xor ecx, ecx
inc ecx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffef
jg 0x100319e3
lea edi, [ebp - 0x610]
lea ecx, [ebp - 0x784]
mov byte [ebp - 4], bl
call fcn.100244a4
cmp byte [ebp - 0x11], 0
je 0x10031cbe
or esi, 0xffffffff
lea ecx, [ebp - 0x3b8]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x2c], ebx
push 2
call fcn.100243cd
xor eax, eax
mov byte [ebp - 4], 2
inc eax
mov dword [ebp - 0x28], 0xfffffff7
mov dword [ebp - 0x1c], 0x839bf5bf
lea ecx, [ebp - 0x430]
push eax
call fcn.100243cd
mov dword [ebp - 0x328], esi
xor edx, edx
mov dword [ebp - 0x324], esi
inc edx
mov dword [ebp - 0x320], esi
mov dword [ebp - 0x31c], esi
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 2
jge 0x10031ba8
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3b8]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
jmp 0x10031b91
mov dword [ebp - 0x10], ebx
jmp 0x10031bc0
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x430]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10031bad
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x3b8]
sub eax, 0x506fce15
cmp eax, 0x39be
setl cl
imul ecx, dword [edx + 4]
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x1c]
cmp ecx, eax
jg 0x10031c96
mov dword [edx + 4], 0x8de905f4
mov dword [ebp - 0x20], 0x8de905f4
cmp dword [ebp - 0x20], ebx
jne 0x10031c37
mov eax, dword [ebp - 0x3b8]
cmp dword [eax], ebx
jne 0x10031c37
mov esi, ebx
jmp 0x10031c3c
xor eax, eax
lea esi, [eax + 1]
mov eax, dword [ebp - 0x430]
xor ecx, ecx
mov dword [eax], 7
dec dword [ebp - 0x320]
mov edx, dword [ebp - 0x320]
mov eax, dword [ebp - 0x28]
neg edx
cmp eax, edx
setne cl
xor ebx, ebx
cmp esi, ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
setle bl
neg ecx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xfafeceb2
setle cl
cmp eax, ecx
sbb eax, eax
inc eax
cmp ebx, eax
jl 0x10031c94
xor ebx, ebx
mov eax, ebx
jmp 0x10031c99
xor ebx, ebx
xor eax, eax
inc eax
lea ecx, [ebp - 0x430]
mov dword [ebp - 0x28], eax
call fcn.100244a4
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], bl
call fcn.100244a4
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
dec dword [ebp - 0x24]
lea esi, [ebp - 0x620]
jns 0x1003188c
mov dword [ebp - 0x2c], 0x219d
cmp dword [ebp - 0x2c], 0x1284
jge 0x10031e31
lea eax, [ebp - 0x90]
push eax
push ecx
lea eax, [ebp - 0x25c]
mov ecx, 0x10656e70
push eax
call fcn.10023e89
pop ecx
mov ecx, eax
call fcn.10023e89
mov esi, dword [ebp - 0x25c]
mov dword [ebp - 0x30], esi
test esi, esi
jne 0x10031d1d
cmp dword [ebp - 0x90], esi
je 0x10031e31
test esi, esi
jle 0x10031d38
lea edi, [ebp - 0xba0]
mov ebx, esi
push edi
mov ecx, 0x10656e70
call fcn.10023e89
add edi, 4
dec ebx
jne 0x10031d27
push 0x13ec8
lea eax, [ebp - 0x14a68]
push ebx
push eax
call fcn.10044140
add esp, 0xc
mov edx, ebx
mov dword [ebp - 0x3c], edx
test esi, esi
jle 0x10031de5
mov ecx, dword [ebp - 0x90]
lea edi, [ebp - 0x14a58]
xor eax, eax
inc eax
mov dword [edi - 8], eax
mov eax, ebx
mov dword [edi - 4], ebx
mov dword [ebp - 0x28], eax
test edx, edx
jle 0x10031dd7
mov ebx, dword [ebp + edx*4 - 0xba0]
lea esi, [ebp - 0x14a60]
mov dword [ebp - 0x2c], ebx
cmp dword [ebp + eax*4 - 0xba0], ebx
jge 0x10031dc4
cmp ecx, 1
jle 0x10031dc4
mov edx, dword [ebp - 0x90]
mov ecx, edi
mov ebx, esi
dec edx
mov eax, dword [ebx]
add dword [ecx], eax
mov eax, dword [ebx + 4]
adc dword [ecx + 4], eax
push 8
pop eax
add ebx, eax
add ecx, eax
dec edx
jne 0x10031da1
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x90]
mov ebx, dword [ebp - 0x2c]
inc eax
add esi, 0x328
mov dword [ebp - 0x28], eax
cmp eax, edx
jl 0x10031d88
mov esi, dword [ebp - 0x30]
xor ebx, ebx
inc edx
add edi, 0x328
mov dword [ebp - 0x3c], edx
cmp edx, esi
jl 0x10031d66
xorps xmm0, xmm0
movlpd qword [ebp - 0x48], xmm0
mov edx, dword [ebp - 0x48]
test esi, esi
jle 0x10031e16
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x14a68]
lea eax, [ecx + eax*8]
mov ecx, dword [ebp - 0x44]
add edx, dword [eax]
adc ecx, dword [eax + 4]
lea eax, [eax + 0x328]
dec esi
jne 0x10031e06
jmp 0x10031e19
mov ecx, dword [ebp - 0x44]
push ecx
push edx
mov ecx, 0x10656db8
call fcn.100242ab
push eax
call fcn.100287ed
pop ecx
jmp 0x10031ce1
push 8
pop eax
mov dword [ebp - 0x18], eax
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0x18c9
cmp dword [ebp - 0x2c], 0x70e
movsd qword [ebp - 0x3d8], xmm0
jge 0x10032029
lea eax, [ebp - 0xc0]
push eax
push 0x1000774c
call fcn.1004e57b
pop ecx
pop ecx
jmp 0x10032014
dec eax
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xbc]
push eax
push 0x1000774c
call fcn.1004e57b
pop ecx
pop ecx
mov edi, ebx
mov dword [ebp - 0x234], ebx
mov ecx, ebx
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x238], ecx
mov esi, ebx
mov dword [ebp - 0x208], ebx
xor eax, eax
mov dword [ebp - 0x20c], esi
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0xbc]
add eax, eax
test eax, eax
jle 0x10031f7d
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x188]
push eax
push 0x10007790
call fcn.1004e57b
mov eax, dword [ebp - 0x188]
add esp, 0xc
test eax, eax
jns 0x10031ef8
neg eax
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0x160]
test ecx, ecx
jns 0x10031f0a
neg ecx
mov dword [ebp - 0x160], ecx
test eax, eax
je 0x10031f2c
movd xmm0, eax
lea ecx, [ebp - 0x23c]
cvtdq2pd xmm0, xmm0
lea eax, [ebp - 0x698]
movsd qword [ebp - 0x698], xmm0
jmp 0x10031f48
movd xmm0, ecx
lea eax, [ebp - 0x6b0]
cvtdq2pd xmm0, xmm0
lea ecx, [ebp - 0x20c]
movsd qword [ebp - 0x6b0], xmm0
push eax
call fcn.1002496d
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xbc]
inc ecx
add eax, eax
mov dword [ebp - 0x28], ecx
cmp ecx, eax
jl 0x10031ecb
mov ecx, dword [ebp - 0x238]
mov edi, dword [ebp - 0x23c]
mov ebx, dword [ebp - 0x208]
mov esi, dword [ebp - 0x20c]
push ecx
push edi
call fcn.100288e4
push ebx
push esi
call fcn.100288e4
xor ebx, ebx
add esp, 0x10
xorps xmm0, xmm0
movsd qword [ebp - 0x48], xmm0
cmp dword [ebp - 0xbc], ebx
jle 0x10031fe7
fld qword [ebp - 0x48]
sub edi, esi
fstp qword [ebp - 0x60]
movsd xmm1, qword [edi + esi]
movsd xmm0, qword [esi]
mulsd xmm1, xmm1
push ecx
mulsd xmm0, xmm0
push ecx
addsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.1004c464
fadd qword [ebp - 0x60]
pop ecx
pop ecx
push 8
pop eax
inc ebx
add esi, eax
fst qword [ebp - 0x60]
fstp qword [ebp - 0x48]
cmp ebx, dword [ebp - 0xbc]
jl 0x10031fa8
movsd xmm0, qword [ebp - 0x48]
push ecx
push ecx
movsd qword [esp], xmm0
push 0x10007798
call fcn.1004eb95
add esp, 0xc
lea ecx, [ebp - 0x20c]
call fcn.100244a4
lea ecx, [ebp - 0x23c]
call fcn.100244a4
push 0
pop ebx
mov eax, dword [ebp - 0xc0]
test eax, eax
jne 0x10031e6e
dec eax
mov dword [ebp - 0xc0], eax
xor ebx, ebx
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x10032044
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x27c], 0x8ec0ae97
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10032033
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1003206a
push ebx
push 0x400
push 0x1933
push 0x5c2
call dword [sym.imp.GDI32.dll_SetDIBColorTable]
xor edx, edx
inc edx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x10032083
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x27c], ebx
jne 0x10032083
dec dword [ebp - 0x18]
jns 0x10032072
push 3
mov dword [ebp - 0x24], ebx
or edi, 0xffffffff
pop esi
cmp dword [ebp - 0x24], esi
jge 0x10032134
push 8
mov dword [ebp - 0x10], edi
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], ebx
jmp 0x10032116
mov dword [ebp - 0x18], 0x8e1b
mov dword [ebp - 0x30], 0x5934215e
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x2c], edx
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
sub edx, 0x64afb241
cmp edx, eax
setne cl
xor edx, edx
add ecx, dword [ebp - 0x10]
xor eax, eax
inc edx
cmp ecx, edx
setge al
imul eax, eax, 0x94b7
test eax, eax
jne 0x100320f2
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], edi
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff5
jle 0x100320a3
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x5a4]
mov dword [eax + ecx*4], 0xd23b6182
inc dword [ebp - 0x24]
jmp 0x1003208c
lea ecx, [ebp - 0x5a4]
mov dword [ebp - 4], edi
call fcn.100244a4
mov dword [ebp - 0x10], ebx
xor edx, edx
mov dword [ebp - 0x30], 0xb4dfecbe
inc edx
mov dword [ebp - 0x18], ebx
jmp 0x10032165
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x98], 0x4a8c6a53
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10032154
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1003218d
push 0x1a2b
push ebx
push 0x2327
push ebx
push 0x1a6e
push ebx
call dword [sym.imp.KERNEL32.dll_CompareStringW]
xor edx, edx
inc edx
mov dword [ebp - 0x10], ebx
jmp 0x10032221
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x98]
neg eax
je 0x100321d3
cmp dword [ebp - 0x10], ebx
je 0x100321b5
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x98]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x98]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x98]
mov eax, edx
cmp dword [ebp - 0x30], ebx
jne 0x100321d5
mov eax, ebx
imul ecx, eax, 0xe3f9
xor edx, edx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
setge dl
cmp edx, 0x2e58
jg 0x100321f9
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x98], ebx
je 0x10032205
cmp dword [ebp - 0x10], ebx
je 0x10032205
xor edx, edx
inc edx
mov ecx, edx
jmp 0x1003220a
xor edx, edx
mov ecx, ebx
inc edx
xor eax, eax
test ecx, ecx
setle al
sub eax, 0x836ccb03
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x10032195
mov dword [ebp - 0x20], 2
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], ebx
jmp 0x1003224a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x9c], 0x8206
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10032239
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jl 0x1003230c
push 8
pop edi
mov dword [ebp - 0x18], ebx
jmp 0x10032274
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6d8], 6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10032263
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x9c]
cmp eax, 0xe939
mov eax, dword [ebp - 0x20]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
cmp ecx, esi
mov eax, dword [ebp + eax*4 - 0x9c]
setle dl
xor ebx, ebx
cmp edx, eax
setge bl
xor ecx, ecx
neg ebx
mov dword [ebp - 0x6d4], ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x9c]
cmp ebx, eax
mov eax, dword [ebp - 0x20]
setne cl
xor edx, edx
cmp eax, ecx
setne dl
sub edx, 0xfc6088b9
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
add edx, edi
je 0x100322fb
cmp dword [ebp - 0x9c], ebx
je 0x100322fb
xor eax, eax
inc eax
jmp 0x100322fd
mov eax, ebx
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x20]
jns 0x1003225e
or edi, 0xffffffff
mov dword [ebp - 0x20], ebx
jmp 0x1003238e
mov dword [ebp - 0x28], 0x2dc6d0f0
mov dword [ebp - 0x1c], ebx
jmp 0x100323e9
push 4
lea ecx, [ebp - 0x258]
call fcn.100243cd
mov dword [ebp - 0x18], ebx
jmp 0x10032345
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x258]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10032332
mov eax, dword [ebp - 0x258]
mov dword [eax], ebx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10032362
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
mov eax, dword [ebp - 0x258]
dec dword [eax]
jns 0x10032353
cmp dword [ebp - 0x28], ebx
je 0x100323c6
mov dword [ebp - 0x2c], 0x4151
cmp dword [ebp - 0x2c], ebx
je 0x100323db
lea ecx, [ebp - 0x258]
call fcn.100244a4
mov eax, dword [ebp - 0x28]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff3
jl 0x10032311
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x38], 0xfffffffb
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x24], 0xe4a6f444
mov dword [ebp - 0x20], 0xacd7d393
mov dword [ebp - 0x30], 0x1b6e
mov dword [ebp - 0x18], ebx
jmp 0x10032406
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100323db
push ebx
push 0x25a0
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
lea ecx, [ebp - 0x258]
call fcn.100244a4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xc
jg 0x10032320
jmp 0x10032388
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x334], 0xfffffffe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100323f5
mov dword [ebp - 0x1c], 6
cmp dword [ebp - 0x1c], 0xffffffe8
jge 0x10032514
lea esi, [ebp - 0x804]
lea edi, [ebp - 0x7f4]
movdqa xmm0, xmmword [0x10007e60]
push ecx
push edi
mov dword [ebp - 0x2c], 0x51ad386c
lea ecx, [ebp - 0x898]
mov dword [ebp - 0x28], 0xfffffffb
mov dword [ebp - 0x44], 0xd0fa5166
push esi
movdqu xmmword [ebp - 0x804], xmm0
call fcn.1002447e
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
je 0x100324c8
push 3
mov dword [ebp - 0x44], 0xfffffffc
lea ecx, [ebp - 0x650]
pop eax
mov dword [ebp - 0x44], 0x849b76ee
mov dword [ebp - 0x44], 2
mov dword [ebp - 0x44], 0xfffffffe
push eax
call fcn.100243cd
push 3
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x100324b3
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x650]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100324a0
inc dword [ebp - 0x30]
lea ecx, [ebp - 0x650]
call fcn.100244a4
jmp 0x100324f3
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100324d8
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100324f3
push ebx
push 0x20cc
push ebx
push 0xb48
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
or eax, 0xffffffff
lea ecx, [ebp - 0x898]
mov dword [ebp - 4], eax
call fcn.100244a4
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe8
jl 0x10032428
or edi, 0xffffffff
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 2
jg 0x10032599
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
sub edx, 0x372585fa
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setl cl
mov esi, dword [ebp + eax*4 - 0x334]
mov eax, dword [ebp - 0x10]
sub esi, ecx
sub esi, 0x1971
neg esi
sbb esi, esi
inc esi
sub esi, dword [ebp + eax*4 - 0x334]
mov eax, dword [ebp - 0x30]
neg esi
mov ecx, dword [ebp - 0x20]
sbb esi, esi
xor edx, edx
inc esi
cmp esi, eax
mov eax, dword [ebp - 0x24]
setg dl
xor ebx, ebx
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setg bl
sub ebx, edx
neg ebx
sbb ebx, ebx
inc ebx
imul ebx, dword [ebp + eax*4 - 0x334]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x334], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x1003251d
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x1c], 0xc4530722
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100325cd
push ebx
push 0x995
push 0xee8
push 0x6f1
push 0x11cb
push 0xc10
push ebx
call dword [sym.imp.USER32.dll_TrackPopupMenu]
mov dword [ebp - 0x10], 9
jmp 0x1003265e
xor ecx, ecx
mov dword [ebp - 0x18], ebx
inc ecx
jmp 0x100325f2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb4], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100325e1
cmp dword [ebp - 0xb4], ebx
jne 0x10032668
push 2
lea ecx, [ebp - 0x448]
call fcn.100243cd
mov dword [ebp - 0x18], ebx
jmp 0x10032624
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x448]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10032611
mov eax, dword [ebp - 0x448]
lea ecx, [ebp - 0x448]
dec dword [eax + 4]
call fcn.100244a4
mov dword [ebp - 0x1c], ebx
jmp 0x10032656
cmp dword [ebp - 0x1c], ebx
jle 0x10032643
cmp dword [ebp - 0x10], 0x12
jg 0x100325d9
xor eax, eax
mov dword [ebp - 0x1c], edi
inc eax
lea ecx, [ebp - 0x72c]
push eax
call fcn.100243cd
xor edx, edx
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x10032695
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x72c]
mov dword [eax + ecx*4], 0x647d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10032682
mov dword [ebp - 0x1c], 0x8bbca631
mov dword [ebp - 0x1c], ebx
jmp 0x100326e1
cmp dword [ebp - 0x1c], ebx
jle 0x100326a6