Function at 0x10043d7c
Capabilities:
Get common file path

Disassembly:
mov eax, 0x10077b5b
call fcn.100767c0
sub esp, 0x18c
mov dword [ebp - 0x18], 0xce9d05ba
push ebx
mov dword [ebp - 0x28], 0x135e1f6f
xor ebx, ebx
mov dword [ebp - 0x28], 0x59141a9
push esi
mov dword [ebp - 0x28], 0x9161d594
push edi
mov dword [ebp - 0x28], 0xfffffffd
mov dword [ebp - 0x28], 0xd6b9c2d6
push 2
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x28], 0xdb7758b3
mov byte [ebp - 0x3d], dl
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x10043de1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf4], 0x5e7a66fe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10043dd0
mov dword [ebp - 0x18], ebx
jmp 0x10043dfc
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x180], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10043deb
mov dword [ebp - 0x18], ebx
jmp 0x10043e17
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x120], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10043e06
xor edi, edi
mov dword [ebp - 0x18], ebx
inc edi
cmp dword [ebp - 0x18], edi
jg 0x10043e81
mov dword [ebp - 0x10], 0xf82ff40f
mov dword [ebp - 0x10], ebx
jmp 0x10043e65
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10043e4e
push ebx
push 0x1d87
push 0x1a19
push ebx
call dword [sym.imp.GDI32.dll_GetPaletteEntries]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0xf4]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf4], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x10043e34
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0xf4], ebx
jne 0x10043e7e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x10043e28
push 2
pop ecx
mov dword [ebp - 0x18], ebx
jmp 0x10043ea9
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x10], ebx
jmp 0x10043e9b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x168], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10043e8e
inc dword [ebp - 0x11c]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff4
jge 0x10043e86
push 4
pop esi
mov dword [ebp - 0x24], 0xf1d8987
lea ecx, [ebp - 0x74]
push esi
call fcn.10024b0c
mov dword [ebp - 0x38], 0x5fec46bc
mov dword [ebp - 0x50], 5
mov dword [ebp - 0x1c], ebx
jmp 0x10043ee5
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x74]
mov dword [eax + ecx*4], 0xbd035c5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10043ed5
mov dword [ebp - 0x1c], ebx
jmp 0x10043f00
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x114], 0xffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10043eef
cmp dword [ebp - 0x24], ebx
jne 0x10043f13
mov eax, dword [ebp - 0x74]
mov esi, ebx
cmp dword [eax], ebx
je 0x10043f15
mov esi, edi
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x74]
cmp dword [ecx], ebx
je 0x10043f32
imul eax, dword [ebp - 0x110], 0x6076
mov edx, edi
mov ecx, dword [ebp - 0x74]
test eax, eax
jne 0x10043f34
mov edx, ebx
mov eax, dword [ecx + 8]
add eax, edx
cmp eax, edi
mov eax, dword [ebp - 0x110]
sbb edx, edx
inc edx
sub edx, dword [ecx + 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x74]
setge cl
sub edx, 0xe5077045
add edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [eax + 4]
mov eax, dword [ebp - 0x38]
sub edx, eax
cmp esi, edx
setne cl
xor edx, edx
add ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x108]
push dword [ebp - 0x74]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x50], edx
call fcn.1005e907
mov eax, dword [0x1007d62c]
xor esi, esi
mov edi, dword [ebp + 8]
inc esi
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x2c], 0xffffffe9
cmp dword [ebp - 0x2c], 0xf
pop ecx
mov dword [ebp - 0x50], eax
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
je 0x1004401e
mov dword [ebp - 0x10], esi
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10043fef
push ebx
push ebx
push 0x266f
push ebx
push ebx
call dword [sym.imp.USER32.dll_CreateDialogIndirectParamA]
mov dword [ebp - 0x10], ebx
jmp 0x1004400c
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10044009
push ebx
push ebx
push 0xbbc
call dword [sym.imp.USER32.dll_EnumChildWindows]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 8
je 0x10043ff4
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xf
jne 0x10043fd5
mov eax, dword [ebp - 0x50]
cmp byte [ebp - 0x3d], bl
je 0x10044035
cmp eax, esi
jne 0x10044035
mov dword [edi + 8], 4
mov dword [edi + 0xc], 0x1007d62c
cmp dword [ebp - 0x4c], eax
jge 0x10044ff5
mov dword [ebp - 0x18], 0x11f07b4b
mov edi, 0x1007d630
mov dword [ebp - 0x1c], 0xdedb5cab
mov dword [ebp - 0x2c], 0xb691
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x44], 0xaa68
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x1004407b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x160], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1004406e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg esi
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x18]
sbb esi, esi
mov eax, dword [ebp - 0x18]
xor edx, edx
neg esi
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp esi, eax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
cmp dword [ebp - 0x34], ecx
setg dl
xor ecx, ecx
cmp eax, edx
setl cl
sub ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x2c]
add ecx, 0x492527ea
cmp ecx, dword [ebp - 0x18]
jne 0x100441fd
mov dword [ebp - 0x10], 0xc0223dec
mov dword [ebp - 0x24], 0xf1e2cd84
mov dword [ebp - 0x30], 0xc35cf455
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x38], 0xd68e480b
mov dword [ebp - 0x34], 0xdd57
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
je 0x1004414d
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x1c], ebx
je 0x1004412d
cmp dword [ebp - 0x10], ebx
je 0x1004412d
xor esi, esi
inc esi
mov ecx, esi
jmp 0x10044132
xor esi, esi
mov ecx, ebx
inc esi
xor eax, eax
cmp ecx, 0xc6f0
setl al
imul eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x1c]
test eax, eax
je 0x1004414d
mov eax, esi
jmp 0x10044152
xor esi, esi
mov eax, ebx
inc esi
imul eax, eax, 0xd1cc
cmp eax, 0xfffffff9
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
je 0x1004416a
mov ecx, esi
cmp dword [ebp - 0x24], ebx
jne 0x1004416c
mov ecx, ebx
xor eax, eax
cmp ecx, 0x67dcc35
sete al
xor edx, edx
imul ecx, eax, 0xfffb
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setl dl
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x38]
sub edx, 0xebf624e1
neg edx
sbb edx, edx
inc edx
add edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
xor edx, edx
cmp ecx, esi
setl dl
xor ecx, ecx
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
cmp eax, edx
setl cl
cmp ecx, dword [ebp - 0x1c]
jle 0x100441d5
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x34]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x20], ecx
jmp 0x1004435a
push 4
lea ecx, [ebp - 0xe4]
call fcn.10024b0c
mov dword [ebp - 0x28], 0xdb5e4941
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x28], 0x283bd055
mov dword [ebp - 0x28], 0x7ec325df
mov dword [ebp - 0x28], 0x2706978b
mov dword [ebp - 0x28], 0x9415f902
mov dword [ebp - 0x24], 0x1d2e80b3
mov dword [ebp - 0x10], ebx
jmp 0x10044253
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xe4]
mov dword [eax + ecx*4], 0xc0825fc6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10044240
mov dword [ebp - 0x1c], ebx
jmp 0x10044324
mov dword [ebp - 0x38], 0xfffffffd
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x20], ebx
jmp 0x10044317
mov dword [ebp - 0x30], 0xa534c8a1
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x10], 0x4023a1bf
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], ebx
jl 0x10044314
mov dword [ebp - 0x34], 0x3a031552
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x100442b3
push ebx
push 0xae7
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
mov eax, dword [ebp - 0x44]
xor edx, edx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x30], 0xdaee
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x160]
add ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setle dl
sub edx, dword [ebp - 0x38]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 0xffffffff
setge al
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp + eax*4 - 0x160]
mov eax, dword [ebp - 0x30]
test eax, eax
setns cl
xor eax, eax
cmp ecx, edx
setg al
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x18]
jns 0x10044298
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x14
jl 0x10044277
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 6
je 0x10044261
inc dword [ebp - 0x24]
cmp dword [ebp - 0xe4], ebx
je 0x10044357
push dword [ebp - 0xe4]
call fcn.1005e907
pop ecx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], ebx
xor esi, esi
inc esi
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x4c], ebx
jle 0x10044b49
jmp 0x1004436b
xor esi, esi
inc esi
mov dword [ebp - 0x18], 0x1f7e2799
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x10], ebx
jmp 0x1004438e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb4], 3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1004437d
mov dword [ebp - 0x18], 0x1a
jmp 0x100444fc
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x30], 0xffffffff
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
je 0x10044428
cmp dword [ebp - 0x18], ebx
jne 0x100443c3
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
test eax, eax
mov eax, 0x6881
setle cl
xor edx, edx
cmp ecx, 0xa53f
setle dl
sub eax, edx
cmp eax, 0x64b
je 0x100443ed
mov edx, esi
cmp dword [ebp - 0x18], ebx
jne 0x100443ef
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setne cl
imul eax, ecx, 0x6c0e
test eax, eax
je 0x10044428
mov dword [ebp - 0x1c], ebx
jmp 0x1004441e
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1004441b
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x10044408
jmp 0x100444e9
push esi
lea ecx, [ebp - 0xc0]
call fcn.10024b0c
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], 0xf4f2d891
mov dword [ebp - 0x10], ebx
jmp 0x10044456
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*4], 0xbfe7374
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10044443
mov eax, dword [ebp - 0xb4]
mov ecx, esi
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
sub eax, 0xfffffffd
add eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
sub ecx, eax
cmp ecx, 0xffffffff
jne 0x10044496
mov eax, dword [ebp - 0xc0]
cmp dword [eax], ebx
jne 0x10044496
mov esi, ebx
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
neg ecx
cmp eax, ecx
setl dl
xor eax, eax
imul edx, dword [ebp - 0x18]
add edx, 0xfff9
cmp edx, esi
setne al
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0xc0], 0
mov dword [ebp - 0x38], eax
je 0x100444e6
push dword [ebp - 0xc0]
call fcn.1005e907
pop ecx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
xor esi, esi
inc esi
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100444f9
push ebx
call dword [sym.imp.USER32.dll_SetCursor]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 5
jg 0x1004439f
mov eax, dword [edi]
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x20], 0xa75c
mov dword [ebp - 0x30], 0xc93cc254
push 3
mov dword [ebp - 0x28], eax
call fcn.10024b0c
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0x2e607d19
push 3
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x1004454e
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1004453f
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10044565
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0xd8]
mov dword [eax + 8], ecx
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x30]
cmp eax, 0x4938
setg cl
add ecx, 0x21203c18
mov dword [ebp - 0x30], ecx
jne 0x100445a5
mov eax, ebx
cmp dword [ebp - 0x30], ebx
je 0x100445a7
mov eax, esi
mov edx, dword [ebp - 0x20]
sub edx, eax
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, dword [ebp - 0x20]
push dword [ebp - 0xd8]
setge cl
xor edx, edx
cmp ecx, 0x684593f6
setle dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x44], ecx
call fcn.1005e907
pop ecx
push 4
pop esi
add edi, esi
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], ebx
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0x1c], 0xffffffff
push esi
mov dword [ebp - 0x38], edi
call fcn.10024b0c
mov dword [ebp - 0x24], 0x26f39384
mov dword [ebp - 0x20], 0xfffffff9
mov dword [ebp - 0x54], 0x71c25028
mov dword [ebp - 0x10], ebx
jmp 0x1004463d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], 0xe6b6cd3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1004462a
mov dword [ebp - 0x1c], ebx
jmp 0x10044665
mov dword [ebp - 0x44], 0x69f4
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1004465d
call dword [sym.imp.USER32.dll_EndMenu]
cmp dword [ebp - 0x44], ebx
jne 0x1004466b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xa
jg 0x10044647
cmp dword [ebp - 0x1c], ebx
je 0x10044681
mov eax, dword [ebp - 0x1c]
sub eax, 9
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xa4]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
add eax, 0x7e0fa1a8
mov dword [ebp - 0x20], eax
je 0x100446be
mov dword [ebp - 0x20], ebx
jmp 0x100446b6
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jle 0x100446a7
jmp 0x1004472e
mov dword [ebp - 0x10], 0x4566
mov dword [ebp - 0x30], 0xfffffffa
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 0x44], 0xfffffffb
cmp dword [ebp - 0x10], ebx
je 0x100446fa
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xa4]
xor ecx, ecx
cmp dword [eax + 8], 0xde5156be
setne cl
mov dword [ebp - 0x44], ecx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1004472e
push 0x1897
push ebx
push 0x143a
push 0x106c
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
push dword [ebp - 0xa4]
call fcn.1005e907
mov esi, dword [edi]
lea eax, [ebp - 0x120]
movdqa xmm0, xmmword [0x1000ce80]
pop ecx
push dword [ebp + 8]
mov dword [ebp - 0xa4], ebx
lea ecx, [ebp - 0x60]
push eax
lea eax, [ebp - 0x130]
mov dword [ebp - 0xa0], ebx
push eax
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x1c], 3
push ebx
mov dword [ebp - 0x54], esi
movdqu xmmword [ebp - 0x130], xmm0
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
call fcn.10029df2
mov dword [ebp - 4], ebx
push 2
mov dword [ebp - 0x2c], 0x656d4c01
pop eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x1c], 0x13
cmp dword [ebp - 0x1c], 0xfffffff9
jg 0x10044a52
xor esi, esi
inc esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x10], 0x4118
mov dword [ebp - 0x3c], 0x906852db
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], ebx
jl 0x100448f9
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x3c], 0xd1f2
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], 5
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
dec ecx
cmp ecx, eax
setge dl
sub edx, 0x19c36c1d
jne 0x10044811
mov edx, ebx
cmp dword [ebp - 0x2c], ebx
je 0x10044813
mov edx, esi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x1c]
jl 0x10044829
mov eax, esi
cmp dword [ebp - 0x18], ebx
jne 0x1004482b
mov eax, ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1c]
push 5
pop ecx
sub ecx, eax
cmp ecx, 0xfff9
mov ecx, dword [ebp - 0x60]
push 0
sbb eax, eax
neg eax
cmp eax, dword [ecx + edx*4]
pop eax
setge al
xor edx, edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x18]
cmp dword [ecx + esi*4], eax
mov eax, dword [ebp - 0x18]
setl dl
mov esi, dword [ebp - 0x30]
imul eax, dword [ebp - 0x3c]
xor ecx, ecx
push 2
add edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
mov eax, dword [ebp - 0x60]
setge cl
xor edx, edx
cmp ecx, dword [eax + edi*4]
setge dl
xor ecx, ecx
cmp edx, dword [eax + esi*4]
setl cl
xor edx, edx
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x18]
cmp edx, eax
pop eax
sete cl
cmp eax, ecx
mov eax, dword [ebp - 0x10]
push 1
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
pop esi
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setg cl
mov dword [ebp - 0x3c], ecx
xor ecx, ecx
cmp dword [ebp - 0x3c], eax
setge cl
mov dword [ebp - 0x3c], ecx
dec dword [ebp - 0x18]
jns 0x100447dd
mov dword [ebp - 0x10], 0xf
jmp 0x10044a35
mov dword [ebp - 0xec], 0xffffffff
mov dword [ebp - 0x2c], ebx
jmp 0x10044a28
mov dword [ebp - 0x64], 0x99c819b5
mov dword [ebp - 0x18], ebx
jmp 0x10044a16
mov dword [ebp - 0x3c], 0x34e4
cmp dword [ebp - 0x3c], 0x3585
jle 0x100449b2
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov ecx, edi
mov dword [ebp - 0x20], 0x61f6
mov dword [ebp - 0x30], ecx
sar eax, cl
mov esi, ebx
mov dword [ebp - 0x68], eax
mov ecx, esi
shl eax, cl
lea ecx, [ebp - 0x198]
cdq
push edx
push eax
call fcn.1000e484
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004496c
mov eax, dword [eax]
push eax
call fcn.1005e79f
pop ecx
xor eax, eax
lea ecx, [ebp - 0x198]
push ebx
inc eax
push eax
call fcn.10025114
mov eax, dword [ebp - 0x68]
inc esi
cmp esi, 0x47a7
jl 0x10044950
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
dec ecx
dec dword [ebp - 0x20]
mov dword [ebp - 0x30], ecx
jne 0x10044949
inc edi
cmp edi, 0x29cc
jl 0x1004493d
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x3c5a
jl 0x1004493b
mov dword [ebp - 0x68], 0xe64c7c59
cmp dword [ebp - 0x3c], 0x3323
jge 0x100449cd
push 0x1000c720
call fcn.1005e79f
pop ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], ebx
jmp 0x100449de
dec dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jle 0x100449d5
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x60]
mov eax, dword [eax + ecx*4]
mov dword [edx + esi*4], eax
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
imul ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x68]
neg ecx
sbb ecx, ecx
neg ecx
add eax, ecx
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x10044926
cmp dword [ebp - 0x18], ebx
jne 0x10044a32
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x1a
jne 0x10044917
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe5
je 0x10044905
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff9
jle 0x100447ac
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x54]
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x60], 0
je 0x10044a6e
push dword [ebp - 0x60]
call fcn.1005e907
pop ecx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000ceb0]
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x140]
mov dword [ebp - 0x98], ebx
push eax
push ebx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x94], ebx
add edi, 4
mov dword [ebp - 0x90], ebx
movdqu xmmword [ebp - 0x140], xmm0
call fcn.10029df2
mov dword [ebp - 0x10], 5
mov dword [ebp - 0x54], 0x23607a98
mov dword [ebp - 0x10], 3
cmp dword [ebp - 0x10], ebx
jl 0x10044b08
mov dword [ebp - 0x24], 0xf36f6dd8
mov dword [ebp - 0x24], 3
cmp dword [ebp - 0x24], ebx
jl 0x10044b03
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x98]
cmp dword [eax + ecx*4], ebx
jne 0x10044b03
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10044afe
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
dec dword [ebp - 0x24]
jns 0x10044add
dec dword [ebp - 0x10]
jns 0x10044aca
cmp dword [ebp - 0x98], 0
je 0x10044b2f
push dword [ebp - 0x98]
call fcn.1005e907
pop ecx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
test esi, esi
jne 0x10044b36
add edi, 8
mov eax, dword [ebp - 0x34]
add edi, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, dword [ebp - 0x4c]
jl 0x10044368
mov dword [ebp - 0x28], ebx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10044b60
push 0x4f8
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10044b75
push 0x264e
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov esi, dword [edi]
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x24], 0xca4f833f
mov dword [ebp - 0x4c], 6
mov dword [ebp - 0x34], 0xe864896e
push 3
mov dword [ebp - 0x28], esi
call fcn.10024b0c
push 3
pop eax
mov dword [ebp - 4], eax
xor edx, edx
mov dword [ebp - 0x1c], ebx
inc edx
mov dword [ebp - 0x10], 0x3782ecc9
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], eax
jge 0x10044be5
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xb0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10044bcf
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xb0]
cmp dword [eax + 8], 0x753589fe
mov eax, dword [ebp - 0x1c]
setne cl
imul eax, dword [ebp - 0x4c]
dec dword [ebp - 0x1c]
cmp eax, ecx
mov ecx, dword [ebp - 0x4c]
cmovl edx, ebx
sub ecx, dword [ebp - 0x24]
inc ecx
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setge al
imul eax, eax, 0x4956
test eax, eax
je 0x10044d7b
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000ce70]
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x150]
mov dword [ebp - 0x2c], ebx
push eax
push ebx
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x8c], ebx
movdqu xmmword [ebp - 0x150], xmm0
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
call fcn.10029df2
xor ecx, ecx
mov dword [ebp - 0x28], 0x63028ec7
mov dword [ebp - 0x28], 0x3b3e2401
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp eax, 0xe6c8
setne cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x28], ecx
cmp dword [ecx + 8], 0xf22a
setne al
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
sub edx, dword [ecx + 8]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0xf23e4692
setne al
xor ecx, ecx
cmp eax, 0x4a21
mov eax, 0xacb2d505
setge cl
sub ecx, 0x73d
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
sbb edx, edx
xor ecx, ecx
add edx, 0xffff67fa
cmp eax, edx
setne cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xb0]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [eax + 4]
jge 0x10044d2f
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 3
jg 0x10044d5b
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebx + 8]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jle 0x10044d13
xor ebx, ebx
jmp 0x10044d5b
mov dword [ebp - 0x28], 0xf4ae
mov dword [ebp - 0x28], 0xea0262b0
mov dword [ebp - 0x28], 0x9107
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x28], 0x15eac84c
mov dword [ebp - 0x28], ebx
dec dword [ebp - 0xf8]
push dword [ebp - 0x8c]
call fcn.1005e907
pop ecx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
jmp 0x10044dd5
mov dword [ebp - 0x10], ebx
jmp 0x10044d91
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x178], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10044d80
push 2
mov dword [ebp - 0x1c], ebx
pop eax
cmp dword [ebp - 0x1c], eax
jg 0x10044dd5
push eax
pop esi
mov edx, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x100]
cmp eax, 0xfffffff6
mov eax, dword [ebp - 0xb0]
setle cl
mov dword [eax + edx*4], ecx
cmp dword [ebp - 0x174], ebx
jne 0x10044dd2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10044da4
mov esi, dword [ebp - 0x28]
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0xb0]
call fcn.1005e907
mov eax, dword [edi + 4]
pop ecx
mov dword [ebp - 0xb0], ebx
xor ecx, ecx
mov dword [ebp - 0xac], ebx
inc ecx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0x10], 0xfffffff8
mov dword [ebp - 0x28], 0x6890
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], 0xffffffe9
mov dword [ebp - 0x64], eax
jg 0x10044f13
push 3
lea ecx, [ebp - 0xcc]
call fcn.10024b0c
mov dword [ebp - 0x34], 0x874b28ed
mov dword [ebp - 0x34], 0x3a4c924b
mov dword [ebp - 0x1c], ebx
jmp 0x10044e51
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0x4a8b108f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10044e3e
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
inc ecx
jmp 0x10044e6d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x48], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10044e5f
mov dword [ebp - 0x48], ebx
jmp 0x10044ed8
mov ecx, dword [ebp - 0x48]
xor edx, edx
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 6
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
sub eax, 0x4dd82c8d
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov ecx, dword [ebp - 0x48]
setg dl
xor eax, eax
cmp edx, 0x5c28
setg al
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
neg ecx
cmp ecx, 6
setne al
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0xcc]
cmp dword [ecx + eax*4], ebx
jne 0x10044ee6
inc dword [ebp - 0x48]
push 2
pop eax
cmp dword [ebp - 0x48], eax
jle 0x10044e77
mov ecx, dword [ebp - 0xcc]
test ecx, ecx
je 0x10044f03
push ecx
call fcn.1005e907
pop ecx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe9
jle 0x10044e1e
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
jne 0x10044ff2
cmp byte [ebp - 0x3d], 0
je 0x10044f37
cmp dword [ebp - 0x50], ecx
jne 0x10044f37
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0xc]
add edi, 0x10
push esi
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x38], edi
call fcn.10059b55
pop ecx
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0x80]
lea eax, [ebp - 0xe8]
mov dword [ebp - 0xe8], ebx
push eax
push esi
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
call fcn.1004945d
mov ecx, ebx
test esi, esi
jle 0x10044fce
mov eax, ecx
and eax, 0x80000001
jns 0x10044f86
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x28]
add eax, ecx
add eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x54]
cdq
idiv esi
mov eax, dword [ebp - 0x80]
cmp word [eax + edx*2], bx
je 0x10044fb6
mov edi, eax
lea eax, [edx + 1]
cdq
idiv esi
cmp word [edi + edx*2], bx
jne 0x10044fa4
mov edi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x80]
xor ebx, ebx
inc ebx
mov word [eax + edx*2], bx
mov al, byte [edx + edi]
mov edx, dword [ebp - 0x50]
push 0
pop ebx
mov byte [ecx + edx], al
inc ecx
cmp ecx, esi
jl 0x10044f78
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x50]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [edi], esi
test eax, eax
je 0x10044ff5
push eax
call fcn.1005e907
pop ecx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
jmp 0x10044ff5
mov edi, dword [ebp + 8]
mov dword [ebp + 8], 0xde0bcd8c
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], 0
je 0x1004500c
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], 0
je 0x10045026
push 0xcc0
push 0x1f1d
push ebx
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret