Function at 0x10095245
Capabilities:
Hide graphical window

Disassembly:
push ebp
lea ebp, [esp - 0x30]
sub esp, 0x178
push ebx
push esi
push edi
push dword [ebp + 0x54]
mov eax, 0x100c6a64
push dword [ebp + 0x50]
mov esi, ecx
push dword [ebp + 0x4c]
mov dword [ebp + 0x2c], esi
push dword [ebp + 0x48]
push eax
push eax
mov eax, dword [ebp + 0x44]
push dword [eax]
push dword [ebp + 0x38]
push 0x10
call fcn.1003a44e
push 0x100e3d7c
mov dword [esi], 0x100cf698
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + 0x8c]
mov ecx, dword [ebp + 0x78]
and dword [ebp + 0x10], 0
shl eax, 2
not eax
and eax, 0x10000
test ecx, ecx
mov dword [ebp + 0x28], eax
mov dword [ebp + 0xc], 9
je 0x100952c2
mov ax, word [ecx]
mov word [ebp + 0x10], ax
mov ax, word [ecx + 2]
mov word [ebp + 0xc], ax
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x24]
mov ebx, dword [ebp + 0x6c]
add edx, eax
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x2c]
add eax, ecx
mov dword [ebp + 8], eax
mov dword [ebp + 4], edx
mov edx, dword [ebp + 0x68]
mov eax, edx
mov edi, 0x800
and eax, edi
mov dword [ebp + 0x18], eax
mov eax, edx
and eax, 0xfffff7ff
mov dword [esi + 0x44], eax
mov al, dl
and al, 0x10
push ebx
push edx
mov dword [ebp], ecx
mov dword [ebp + 0x20], ebx
mov byte [ebp + 0x53], al
mov dword [ebp + 0x48], 0x10000000
call fcn.1003fe73
test al, al
pop ecx
pop ecx
je 0x1009531f
mov dword [ebp + 0x48], 0x18000000
mov eax, edx
and eax, 0x40
xor ecx, ecx
or eax, ecx
je 0x1009532e
or byte [ebp + 0x4a], 0x80
mov eax, edx
and eax, 0x80000000
xor ecx, ecx
or eax, ebx
je 0x1009533d
mov ecx, edi
mov eax, edx
and eax, 0x80000
xor edi, edi
or eax, edi
jne 0x1009534e
or dword [ebp + 0x48], 8
or dword [ebp + 0x48], 1
mov eax, edx
and eax, 0x2000
xor edi, edi
or eax, edi
je 0x10095363
or byte [ebp + 0x49], 0x40
mov eax, edx
and eax, 0x1000
xor edi, edi
or eax, edi
je 0x10095374
or byte [ebp + 0x49], 2
mov eax, edx
and eax, 0x2090000
xor edx, edx
or eax, edx
je 0x10095385
or dword [ebp + 0x48], 4
test ecx, ecx
jle 0x1009538c
or dword [ebp + 0x48], ecx
push 0x290
call fcn.100b4338
test eax, eax
pop ecx
je 0x100953ab
push esi
lea ecx, [esi + 0x34]
push ecx
mov ecx, eax
call fcn.100ad79b
mov ebx, eax
jmp 0x100953ad
xor ebx, ebx
mov eax, dword [ebp + 0x74]
mov dword [esi + 0x1c], ebx
mov dword [eax], esi
mov eax, dword [ebp + 0x7c]
test eax, eax
je 0x1009547c
mov cx, word [eax]
cmp cx, 0x2a
mov dword [ebp + 0x38], eax
je 0x100953d8
cmp cx, 0x2d
je 0x100953d8
mov byte [ebp + 0x57], 0
jmp 0x100953e2
add eax, 2
mov byte [ebp + 0x57], 1
mov dword [ebp + 0x38], eax
lea esi, [ebx + 0x170]
lea eax, [ebp + 0x38]
push esi
push eax
call fcn.1005a5f0
cmp byte [ebp + 0x57], 0
pop ecx
pop ecx
je 0x10095400
fld qword [esi]
fchs
fstp qword [esi]
mov eax, dword [ebp + 0x38]
mov ax, word [eax]
cmp ax, 0x2a
je 0x10095418
cmp ax, 0x2d
je 0x10095418
mov byte [ebp + 0x57], 0
jmp 0x10095420
add dword [ebp + 0x38], 2
mov byte [ebp + 0x57], 1
lea esi, [ebx + 0x178]
lea eax, [ebp + 0x38]
push esi
push eax
call fcn.1005a5f0
cmp byte [ebp + 0x57], 0
pop ecx
pop ecx
je 0x1009543e
fld qword [esi]
fchs
fstp qword [esi]
mov eax, dword [ebp + 0x38]
mov ax, word [eax]
cmp ax, 0x2a
je 0x10095456
cmp ax, 0x2d
je 0x10095456
mov byte [ebp + 0x57], 0
jmp 0x1009545e
add dword [ebp + 0x38], 2
mov byte [ebp + 0x57], 1
lea esi, [ebx + 0x180]
lea eax, [ebp + 0x38]
push esi
push eax
call fcn.1005a5f0
cmp byte [ebp + 0x57], 0
pop ecx
pop ecx
je 0x1009547c
fld qword [esi]
fchs
fstp qword [esi]
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x100954a6
cmp word [eax + 4], 0
je 0x10095494
mov cx, word [eax]
mov word [ebx + 0x18a], cx
cmp word [eax + 6], 0
je 0x100954a6
mov ax, word [eax + 2]
mov word [ebx + 0x188], ax
push dword [ebp + 0x40]
mov eax, dword [ebp + 0x3c]
push dword [eax + 0x18]
mov eax, dword [ebp + 0x48]
or eax, dword [ebp + 0x28]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
or eax, 0x40000000
push eax
mov ecx, ebx
movsd dword es:[edi], dword [esi]
call fcn.100a9772
mov ecx, ebx
call fcn.1003fd22
push eax
lea ecx, [ebx + 0x90]
call fcn.100a90ae
mov eax, dword [ebp + 0x68]
and eax, 0x4800
xor ecx, ecx
cmp eax, 0x4000
jne 0x1009550a
test ecx, ecx
jne 0x1009550a
push ecx
push dword [ebx + 0xa8]
call dword [sym.imp.USER32.dll_EnableWindow]
or byte [ebx + 0x289], 1
mov eax, dword [ebp + 0x68]
and eax, 0x4000
xor ecx, ecx
or eax, ecx
je 0x1009551f
or byte [ebx + 0x288], 1
lea ecx, [ebp + 0x7c]
call fcn.10046123
mov edi, dword [ebp + 0x60]
cmp word [edi], 0x3d
jne 0x10095560
inc edi
inc edi
push 0x3a
lea eax, [ebp + 0x60]
mov dword [ebp + 0x60], edi
mov esi, edi
call fcn.100a1095
mov edi, dword [ebp + 0x60]
mov eax, edi
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp + 0x7c]
call fcn.10046247
cmp word [edi], 0
je 0x10095560
inc edi
inc edi
mov dword [ebp + 0x60], edi
mov ecx, dword [ebp + 0x3c]
xor esi, esi
call fcn.1009fde3
fld qword [0x100cd100]
and byte [ebp + 0x69], 0xf7
fstp qword [ebp - 0x24]
mov dword [ebp + 0x78], eax
mov eax, dword [ebp + 0x6c]
mov dword [ebp + 0x6c], eax
xor eax, eax
mov ax, word [edi]
cmp ax, si
mov dword [ebp + 0x54], eax
je 0x10095597
cmp word [edi + 2], 0x3a
jne 0x10095597
mov dword [ebp + 0x54], esi
cmp ax, 0x2a
jne 0x100955a0
mov word [edi], si
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.10049667
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x100955bd
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x4c], eax
push 0x3a
lea eax, [ebp + 0x4c]
call fcn.100a1095
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
pop ecx
je 0x100955da
mov word [eax], si
add dword [ebp + 0x4c], 2
mov eax, dword [ebp + 0x4c]
fldz
movzx eax, word [eax]
fstp qword [ebp + 0x24]
or dword [ebp + 0x48], 0xffffffff
fldz
fstp qword [ebp + 4]
xor edi, edi
cmp ax, 0x2d
fld qword [0x100cd100]
fst qword [ebp - 0x1c]
mov dword [ebp + 0x38], 0x80000000
fst qword [ebp - 0x34]
fst qword [ebp - 0x3c]
fstp qword [ebp - 0x14]
je 0x10095615
cmp ax, 0x2a
jne 0x1009561b
add dword [ebp + 0x4c], 2
mov edi, eax
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.10049667
cmp di, 0x2d
pop ecx
pop ecx
jne 0x10095637
fld qword [ebp + 0x24]
fchs
jmp 0x10095646
cmp di, 0x2a
jne 0x10095649
fld qword [ebp + 0x24]
fadd qword [0x100d2d70]
fstp qword [ebp + 0x24]
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
je 0x1009570a
push 2
pop edi
add dword [ebp + 0x4c], edi
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.1004876b
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
pop ecx
pop ecx
je 0x1009570a
add dword [ebp + 0x4c], edi
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.10049667
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
pop ecx
pop ecx
je 0x1009570a
add dword [ebp + 0x4c], edi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.10049667
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
pop ecx
pop ecx
je 0x1009570a
add dword [ebp + 0x4c], edi
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.10049667
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
pop ecx
pop ecx
je 0x1009570a
add dword [ebp + 0x4c], edi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.10049667
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
pop ecx
pop ecx
je 0x1009570a
add dword [ebp + 0x4c], edi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.10049667
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
pop ecx
pop ecx
je 0x1009570a
add dword [ebp + 0x4c], edi
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.1004970d
pop ecx
pop ecx
mov eax, dword [ebp + 0x3c]
push dword [eax + 0x18]
lea ecx, [ebp - 0x2c]
call fcn.10001034
push dword [ebp - 0x2c]
call dword [sym.imp.GDI32.dll_GetBkColor]
push eax
mov ecx, ebx
call fcn.1003fd8a
lea ecx, [ebp - 0x2c]
call fcn.1000104d
fld qword [ebp - 0x24]
fcom qword [0x100c9b80]
mov eax, dword [ebp + 0x78]
mov esi, dword [sym.imp.GDI32.dll_GetObjectW]
mov dword [ebx + 0x18c], eax
fnstsw ax
test ah, 0x41
je 0x10095764
mov eax, dword [ebp + 0x60]
cmp word [eax], 0
jne 0x10095764
cmp word [ebp + 0x54], 0
je 0x1009581b
and dword [ebp - 0xec], 0
fstp qword [ebp - 0x2c]
push 0x16
pop ecx
xor eax, eax
lea edi, [ebp - 0xe8]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xec]
push eax
push 0x5c
push dword [ebp + 0x78]
call esi
fld qword [ebp - 0x3c]
fcomp qword [0x100c9b80]
fnstsw ax
test ah, 0x41
jne 0x100957ae
fld qword [ebp - 0x3c]
push ecx
push ecx
fstp qword [esp]
call fcn.1004568e
pop ecx
pop ecx
mov dword [ebp - 0xec], eax
fld qword [ebp - 0x14]
fcomp qword [0x100c9b80]
fnstsw ax
test ah, 0x41
jne 0x100957d3
fld qword [ebp - 0x14]
push ecx
push ecx
fstp qword [esp]
call fcn.1004568e
pop ecx
pop ecx
mov dword [ebp - 0xe8], eax
push dword [ebp + 0x60]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0xec]
push eax
call fcn.1007df88
add esp, 0xc
test eax, eax
mov dword [ebx + 0x48], eax
je 0x100957f3
mov dword [ebp + 0x78], eax
push dword [ebp + 0x60]
mov eax, dword [ebp + 0x78]
lea ecx, [ebp - 0x24]
push ecx
push eax
mov dword [ebx + 0x18c], eax
call fcn.1008a313
fld qword [ebp - 0x24]
add esp, 0xc
mov dword [ebx + 0x190], eax
mov dword [ebx + 0x18c], eax
fcom qword [0x100c9b80]
fnstsw ax
test ah, 0x41
jne 0x10095830
fstp qword [ebx + 0x270]
jmp 0x10095832
fstp st(0)
fld qword [ebp - 0x14]
fcomp qword [0x100c9b80]
fnstsw ax
test ah, 0x41
jne 0x1009584b
fld qword [ebp - 0x14]
fstp qword [ebx + 0x278]
push 1
push dword [ebx + 0x18]
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
fld qword [0x100c9b80]
fld qword [ebp + 0x24]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10095876
fld qword [ebp + 0x24]
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.100a9fbc
cmp dword [ebx + 0x48], 0
je 0x1009588b
mov eax, dword [ebx]
push 1
push dword [ebp + 0x78]
mov ecx, ebx
call dword [eax + 0x84]
mov eax, dword [ebp + 0x38]
test eax, eax
jl 0x10095897
movzx edx, al
jmp 0x1009589a
or edx, 0xffffffff
test eax, eax
jl 0x100958a3
movzx ecx, ah
jmp 0x100958a6
or ecx, 0xffffffff
test eax, eax
jl 0x100958b2
sar eax, 0x10
movzx eax, al
jmp 0x100958b5
or eax, 0xffffffff
fld qword [ebp + 4]
push ecx
fstp dword [esp]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.100a9f85
and dword [ebp - 0x148], 0
push 0x16
pop ecx
xor eax, eax
lea edi, [ebp - 0x144]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x148]
push eax
push 0x5c
push dword [ebp + 0x78]
call esi
fld qword [0x100d2130]
fstp qword [ebp + 4]
fld qword [ebp - 0x1c]
fcomp qword [0x100c9b80]
fnstsw ax
test ah, 0x41
jne 0x10095916
fld qword [ebp - 0x1c]
push ecx
push ecx
fstp qword [esp]
call fcn.1004568e
pop ecx
pop ecx
mov dword [ebp - 0x148], eax
fld qword [ebp - 0x34]
fcomp qword [0x100c9b80]
fnstsw ax
test ah, 0x41
jne 0x1009593b
fld qword [ebp - 0x34]
push ecx
push ecx
fstp qword [esp]
call fcn.1004568e
pop ecx
pop ecx
mov dword [ebp - 0x144], eax
fld qword [ebp - 0x1c]
mov eax, dword [ebp + 0x78]
fcomp qword [0x100c9b80]
mov ecx, dword [ebp + 0x70]
mov dword [ebx + 0x138], eax
fnstsw ax
test ah, 0x41
je 0x1009596d
fld qword [ebp - 0x34]
fcomp qword [0x100c9b80]
fnstsw ax
test ah, 0x41
je 0x1009596d
cmp word [ecx], 0
je 0x1009598d
push ecx
lea eax, [ebp + 4]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.1007df88
add esp, 0xc
mov dword [ebx + 0x13c], eax
mov dword [ebx + 0x138], eax
mov ecx, dword [ebp + 0x68]
mov eax, ecx
and eax, 0x80
xor edx, edx
or eax, edx
je 0x100959a4
or byte [ebx + 0x288], 4
mov eax, ecx
and eax, 0x100
xor edx, edx
or eax, edx
je 0x100959b8
or byte [ebx + 0x288], 8
mov eax, ecx
and eax, 0x3800200
xor edx, edx
xor esi, esi
or eax, edx
jne 0x100959c8
inc esi
mov eax, ecx
mov edi, 0x400
and eax, edi
xor edx, edx
or eax, edx
je 0x100959da
or esi, 4
mov eax, ecx
and eax, 0x4000
xor edx, edx
or eax, edx
je 0x100959ee
or byte [ebx + 0x288], 1
cmp dword [ebp + 0x18], 0
je 0x100959f7
or esi, 0x10
mov eax, ecx
and eax, 0x20000
xor ecx, ecx
or eax, ecx
je 0x10095a0a
or esi, 0x8000
mov ecx, ebx
call fcn.1003fd77
or esi, eax
mov eax, dword [ebp + 0x68]
and eax, 0x600000
xor ecx, ecx
or eax, ecx
je 0x10095a24
or esi, 4
push esi
mov ecx, ebx
call fcn.100a97de
mov eax, dword [ebp + 0x68]
and eax, 0x10000
xor ecx, ecx
or eax, ecx
je 0x10095a44
mov eax, dword [ebp + 0x6c]
and byte [ebp + 0x6a], 0xf7
mov dword [ebp + 0x6c], eax
mov edx, dword [ebp + 0x68]
mov eax, edx
and eax, 0x40000
xor ecx, ecx
or eax, ecx
je 0x10095a5b
or byte [ebx + 0x288], 2
mov eax, edx
and eax, 0x80000
xor ecx, ecx
or eax, ecx
je 0x10095a6f
or byte [ebx + 0x288], 0x20
mov eax, edx
and eax, 0x100000
xor ecx, ecx
or eax, ecx
je 0x10095a83
or byte [ebx + 0x288], 0x40
mov eax, edx
and eax, 0x200000
xor ecx, ecx
or eax, ecx
je 0x10095a97
or word [ebx + 0x288], di
mov eax, edx
and eax, 0x400000
xor ecx, ecx
or eax, ecx
je 0x10095aab
or byte [ebx + 0x289], 0xc
mov eax, edx
and eax, 0x800000
xor ecx, ecx
or eax, ecx
je 0x10095abf
or byte [ebx + 0x289], 0x18
mov eax, edx
and eax, 0x1000000
xor ecx, ecx
or eax, ecx
je 0x10095ad3
or byte [ebx + 0x289], 0x28
mov al, byte [ebp + 0x20]
and al, 1
mov byte [ebp + 0x63], al
je 0x10095ae4
or byte [ebx + 0x289], 2
or dword [ebp - 0xc], 0xffffffff
or dword [ebp - 8], 0xffffffff
or dword [ebp - 4], 0xffffffff
xor eax, eax
mov esi, 0x80000000
mov dword [ebp], esi
lea edi, [ebp + 4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x78], eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.100491a5
cmp dword [ebp - 0xc], 0
pop ecx
pop ecx
jl 0x10095b24
push dword [ebp - 0xc]
mov ecx, ebx
call fcn.1003fd8a
mov eax, dword [ebp - 8]
test eax, eax
jl 0x10095b39
push eax
mov ecx, ebx
mov dword [ebx + 0x25c], eax
call fcn.1003fda1
mov eax, dword [ebp - 4]
test eax, eax
jl 0x10095b4e
push eax
mov ecx, ebx
mov dword [ebx + 0x258], eax
call fcn.100aa032
mov eax, dword [ebp]
cmp eax, esi
jne 0x10095bb7
mov eax, dword [ebp + 0x68]
and eax, 0x50000
xor ecx, ecx
or eax, ecx
jne 0x10095bab
push 0x23
pop edi
push edi
lea eax, [ebp + 0x78]
call fcn.100a1095
mov eax, dword [ebp + 0x78]
cmp word [eax], di
pop ecx
jne 0x10095b86
add dword [ebp + 0x78], 2
push edi
lea eax, [ebp + 0x78]
call fcn.100a1095
pop ecx
mov eax, dword [ebp + 0x78]
cmp word [eax], di
jne 0x10095b9c
add dword [ebp + 0x78], 2
push edi
lea eax, [ebp + 0x78]
call fcn.100a1095
pop ecx
mov eax, dword [ebp + 0x78]
cmp word [eax], di
jne 0x10095bbd
cmp word [eax + 2], 0x2a
jne 0x10095bbd
push 0xd
call dword [sym.imp.USER32.dll_GetSysColor]
cmp eax, esi
je 0x10095bbd
mov dword [ebx + 0x260], eax
xor ecx, ecx
cmp dword [ebx + 0x260], ecx
jl 0x10095bda
mov eax, dword [ebp + 0x68]
and eax, 0x10000
or eax, ecx
je 0x10095bda
or byte [ebx + 0x288], 0x10
push 7
pop edx
xor eax, eax
mov ecx, edx
lea edi, [ebp - 0x58]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x58]
mov eax, dword [eax]
xor ecx, ecx
push 0x30
pop edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x5c], edx
mov dword [ebp + 0x44], eax
cmp word [eax], cx
mov dword [ebp + 0x1c], ecx
mov dword [ebp + 0x20], ecx
mov dword [ebp + 0x14], ecx
mov dword [ebp + 0x18], ecx
mov ecx, dword [ebp + 0x3c]
mov esi, dword [ecx + 0xf8]
sete byte [ebp + 0x7b]
cmp dword [ebx + 0x260], 0
jl 0x10095c27
test byte [ebx + 0x288], 0x10
jne 0x10095c30
test byte [ebx + 0x288], 0x20
je 0x10095c3a
or byte [ebx + 0x288], 0x80
mov eax, dword [ebp + 0x44]
and dword [ebp + 0x3c], 0
jmp 0x10095cf2
push dword [ebp + 0xc]
and dword [ebp + 0x74], 0
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp + 0x64], 0x80000000
mov dword [ebp + 0x54], 2
mov byte [ebp + 0x38], 0
call fcn.100950d8
add esp, 0x1c
test eax, eax
jge 0x10095c86
cmp dword [ebp + 0x64], 0
jl 0x10095c94
push dword [ebp + 0x64]
mov ecx, ebx
push eax
push dword [ebp + 0x3c]
call fcn.100ad63f
mov eax, dword [ebp - 0x54]
cdq
add dword [ebp + 0x1c], eax
adc dword [ebp + 0x20], edx
test esi, esi
jle 0x10095cc3
push dword [ebp + 0x20]
mov eax, esi
push dword [ebp + 0x1c]
cdq
push edx
push eax
call fcn.100b4200
push 0
push 0x60
push edx
push eax
call fcn.100b4650
sub eax, dword [ebp + 0x14]
mov dword [ebp - 0x54], eax
push dword [ebp + 0x54]
lea eax, [ebp - 0x5c]
push dword [ebp + 0x38]
mov ecx, ebx
push eax
push dword [ebp + 0x3c]
call fcn.100ab449
mov eax, dword [ebp - 0x54]
cdq
add dword [ebp + 0x14], eax
lea ecx, [ebp + 0x74]
mov dword [ebp - 0x58], edi
adc dword [ebp + 0x18], edx
call fcn.1003f96c
inc dword [ebp + 0x3c]
mov eax, dword [ebp + 0x44]
cmp word [eax], 0
jne 0x10095c43
cmp dword [ebp + 0x48], 0
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x3c]
mov dword [eax + 0x40], ecx
jle 0x10095d17
push 0
push dword [ebp + 0x48]
mov ecx, ebx
call fcn.100a9fe8
mov esi, dword [ebp + 0x5c]
xor eax, eax
push 0xc
pop ecx
lea edi, [ebp - 0x8c]
rep stosd dword es:[edi], eax
and dword [ebp - 0x88], eax
xor ecx, ecx
inc ecx
cmp esi, ecx
mov eax, 0x100c6a64
mov dword [ebp - 0x8c], 0x7fffffff
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x7c], eax
mov dword [ebp + 0x64], esi
jne 0x10095eb4
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x90]
mov esi, 0x100c78c2
xor edi, edi
push eax
mov ecx, ebx
mov dword [ebp + 0x64], esi
mov dword [ebp - 0x88], edi
call fcn.100a97f8
push edi
push edi
push 0x1008
push dword [ebx + 0x18]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x10095eb4
cmp word [ebp + 0x10], 0
mov dword [ebp + 0x44], esi
lea eax, [ebp + 0x64]
jne 0x10095dad
call fcn.10005b53
mov esi, dword [ebp + 0x64]
cmp word [esi], 0xd
mov eax, esi
jne 0x10095dbb
inc esi
inc esi
mov dword [ebp + 0x64], esi
jmp 0x10095dbb
push dword [ebp + 0x10]
call fcn.100a1095
mov esi, dword [ebp + 0x64]
pop ecx
mov eax, esi
cmp word [esi], 0
je 0x10095dc6
inc esi
inc esi
mov dword [ebp + 0x64], esi
xor ecx, ecx
cmp word [eax], cx
je 0x10095dd0
mov word [eax], cx
mov eax, dword [ebp + 0x44]
cmp word [eax], cx
mov dword [ebp + 0x48], ecx
mov dword [ebp + 0x3c], ecx
je 0x10095eb4
cmp byte [ebp + 0x7b], 0
mov edi, dword [ebp + 0x2c]
jne 0x10095df7
mov eax, dword [ebp + 0x3c]
cmp eax, dword [edi + 0x40]
jge 0x10095eb4
cmp byte [ebp + 0x63], 0
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x54], eax
lea eax, [ebp + 0x44]
je 0x10095e0e
push eax
call fcn.10005b74
jmp 0x10095e16
push dword [ebp + 0xc]
call fcn.100a1095
pop ecx
mov ecx, dword [ebp + 0x44]
cmp word [ecx], 0
je 0x10095e2c
and word [ecx], 0
mov ecx, dword [ebp + 0x44]
inc ecx
inc ecx
mov dword [ebp + 0x44], ecx
cmp byte [ebp + 0x63], 0
je 0x10095e49
test ecx, ecx
je 0x10095e49
jmp 0x10095e3d
inc ecx
inc ecx
mov dword [ebp + 0x44], ecx
mov ax, word [ecx]
call fcn.1003f9a5
test al, al
jne 0x10095e38
mov ecx, dword [ebp + 0x3c]
mov eax, dword [edi + 0x40]
cmp ecx, eax
mov dword [ebp - 0x88], ecx
jl 0x10095e6f
lea ecx, [eax + 1]
push 2
mov dword [edi + 0x40], ecx
push 0
lea ecx, [ebp - 0x5c]
push ecx
push eax
mov ecx, ebx
call fcn.100ab449
cmp dword [ebp + 0x3c], 0
mov eax, dword [ebp + 0x54]
mov dword [ebp - 0x7c], eax
jne 0x10095e8e
lea eax, [ebp - 0x90]
push eax
mov ecx, ebx
call fcn.100a97f8
mov dword [ebp + 0x48], eax
jmp 0x10095ea4
cmp word [eax], 0
je 0x10095ea4
push dword [ebp + 0x54]
mov ecx, ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x48]
call fcn.1003fd4c
mov eax, dword [ebp + 0x44]
inc dword [ebp + 0x3c]
cmp word [eax], 0
jne 0x10095de2
cmp word [esi], 0
jne 0x10095d89
push dword [ebp + 0x6c]
mov ecx, ebx
push dword [ebp + 0x68]
call fcn.100a97f5
push 0x32
pop ecx
push ecx
mov eax, ecx
push eax
push 1
mov ecx, ebx
call fcn.1003fdb8
cmp byte [ebp + 0x53], 0
je 0x10095eec
push 0
push dword [ebx + 0x18]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp + 0x2c]
xor eax, eax
cmp byte [ebp + 0x53], al
sete al
push eax
call fcn.1003a350
mov ecx, ebx
call fcn.100a917a
lea ecx, [ebp + 0x7c]
call fcn.1003f96c
push 0x100e3d7c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0x2c]
pop edi
pop esi
pop ebx
add ebp, 0x30
leave
ret 0x48