Function at 0x1004215e
Capabilities:
Query environment variable
Query service status

Disassembly:
mov eax, 0x10061816
call fcn.10060628
sub esp, 0x364
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x10], 7
xor ecx, ecx
mov dword [ebp - 0x24], 0x1d25bb08
push edi
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0xfffffff4
push 1
mov byte [ebp - 0x3d], dl
mov dword [ebp - 0x38], esi
pop ebx
jne 0x1004227c
mov dword [ebp - 0x18], 0xeede0b40
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x24], 0xc6fe23a2
mov dword [ebp - 0x24], 0xfffffffa
push 2
call fcn.10013a9c
xor edx, edx
mov dword [ebp - 0x20], edx
jmp 0x100421d5
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xfc]
mov dword [eax + ecx*4], 0xc5051dd2
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x100421c2
mov dword [ebp - 0x18], edx
jmp 0x10042259
mov dword [ebp - 0x28], 0xb963
cmp dword [ebp - 0x18], edx
jne 0x100421f3
mov esi, edx
cmp dword [ebp - 0x10], edx
je 0x100421f8
cmp dword [ebp - 0x10], edx
mov esi, ebx
mov eax, ebx
jne 0x100421fe
mov eax, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x10]
neg eax
push 0
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp esi, edx
pop edx
sete al
imul ecx, eax, 0xfffffffc
mov eax, dword [ebp - 0xfc]
mov dword [eax], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 6
jne 0x100421e0
lea ecx, [ebp - 0xfc]
call fcn.10013af8
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff4
je 0x10042199
mov esi, dword [ebp - 0x38]
xor ecx, ecx
mov dword [ebp - 0x2c], 0xfffffffc
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ecx
jmp 0x1004229c
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1ec], 0xfffffffb
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1004228b
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], 0
je 0x100422b6
push 0xd7d
call dword [sym.imp.USER32.dll_GetParent]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
setne cl
xor eax, eax
cmp ecx, 0x714a0256
setge al
mov dword [ebp - 0x1e0], eax
xor eax, eax
mov dword [ebp - 0x1c], 0x9b55bb2c
mov dword [ebp - 0x28], 0x58bd4dfb
mov dword [ebp - 0x1c], eax
jmp 0x1004231c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jg 0x10042319
mov dword [ebp - 0x28], 0xf7a73d2d
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffff
jle 0x10042301
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1b
jge 0x100422f5
mov eax, dword [0x100668ac]
lea ecx, [ebp - 0x144]
push 3
pop edi
push edi
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x48], edi
call fcn.10013a9c
xor edx, edx
mov dword [ebp - 0x20], edx
jmp 0x10042356
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x144]
mov dword [eax + ecx*4], 0x61f9c28a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10042343
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], dl
je 0x10042377
push edx
push 0x2642
push edx
push 0x54f
call dword [sym.imp.GDI32.dll_SetWinMetaFileBits]
xor edx, edx
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10042389
push edx
push edx
push edx
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea ecx, [ebp - 0x144]
call fcn.10013af8
mov edi, dword [ebp + 8]
xor edx, edx
mov eax, dword [ebp - 0x78]
mov dword [edi], edx
mov dword [edi + 4], edx
mov dword [edi + 8], edx
mov dword [edi + 0xc], edx
cmp byte [ebp - 0x3d], dl
je 0x1004259b
cmp eax, ebx
jne 0x1004259b
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x20], edx
jmp 0x100423ca
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x34], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x100423c0
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], edx
jg 0x10042470
push 3
pop esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x34], ecx
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], edx
jl 0x10042461
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x34]
cmp eax, 0xfffffff8
setl cl
cmp ecx, dword [ebp - 0x34]
jg 0x10042419
mov eax, dword [ebp - 0x10]
mov ecx, ebx
cmp dword [ebp + eax*4 - 0x34], edx
jne 0x1004241b
mov ecx, edx
mov eax, dword [ebp - 0x10]
xor ebx, ebx
push 1
mov eax, dword [ebp + eax*4 - 0x34]
cmp eax, 2
mov eax, dword [ebp - 0x1c]
sete bl
xor edx, edx
neg ecx
add ebx, dword [ebp + eax*4 - 0x34]
cmp ecx, 0xffffffff
setle dl
xor ecx, ecx
add edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
cmp edx, eax
mov eax, dword [ebp - 0x10]
setle cl
xor edx, edx
cmp ebx, ecx
pop ebx
setl dl
mov dword [ebp + eax*4 - 0x34], edx
dec dword [ebp - 0x1c]
push 0
pop edx
jns 0x100423fa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x100423de
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x10], 0xa
cmp dword [ebp - 0x10], 0xfffffff8
jge 0x10042559
mov dword [ebp - 0x1c], 0xaa12afd7
lea ecx, [ebp - 0x138]
push 2
call fcn.10013a9c
mov dword [ebp - 0x20], 0
jmp 0x100424b1
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x138]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x1004249e
mov eax, dword [ebp - 0x34]
xor ebx, ebx
mov ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
setg bl
xor edx, edx
cmp ecx, eax
setge dl
sub edx, ebx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, dword [ebp - 0x1c]
jl 0x100424f1
cmp dword [ebp - 0x34], ecx
je 0x100424f1
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x100424f6
xor ebx, ebx
mov eax, ecx
inc ebx
cmp eax, dword [ebp - 0x10]
jle 0x10042502
cmp dword [ebp - 0x10], ecx
je 0x10042502
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
xor edx, edx
sub eax, dword [ebp - 0x34]
cmp eax, ecx
mov eax, dword [ebp - 0x34]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x138]
setl cl
xor edx, edx
cmp ecx, 0xfffffff8
mov ecx, dword [ebp - 0x1c]
setl dl
mov dword [eax + 4], edx
xor edx, edx
mov eax, dword [ebp - 0x34]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x138]
setle dl
add eax, edx
mov dword [ebp - 0x34], eax
call fcn.10013af8
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff8
jl 0x10042481
xor edx, edx
mov dword [ebp - 0x44], 2
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
mov dword [edi + 8], 4
je 0x1004257a
push edx
push edx
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
xor edx, edx
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10042591
push ebx
push 0x1822
call dword [sym.imp.USER32.dll_FlashWindow]
xor edx, edx
mov eax, dword [ebp - 0x78]
mov dword [edi + 0xc], 0x100668ac
cmp esi, eax
jge 0x100433f7
push 2
pop edi
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x20], edx
push edi
call fcn.10013a9c
xor edx, edx
mov dword [ebp - 0x28], 0x5734cb44
mov dword [ebp - 0x10], edx
jmp 0x100425dc
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xe4]
mov dword [eax + ecx*4], 0x277ebd00
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100425c9
push 3
mov dword [ebp - 0x10], edx
pop ecx
jmp 0x100425fa
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x174], 0xffbe5849
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100425e9
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x1c]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xe4]
neg ecx
mov eax, dword [ebp - 0x16c]
mov dword [edx + 4], ecx
sub ecx, eax
cmp ecx, dword [ebp - 0x170]
jne 0x1004264b
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1004264d
mov eax, ebx
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0xe4]
mov eax, dword [edx + 4]
mov dword [ebp - 0x20], eax
call fcn.10013af8
xor edx, edx
mov esi, 0x100668b0
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x38], edx
jle 0x10042f56
mov ecx, 0x948708ef
mov eax, dword [esi]
add esi, 4
mov dword [ebp - 0x1c], 0xa4f833fc
mov dword [ebp - 0x1b0], ecx
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x1a4], ecx
lea ecx, [ebp - 0x12c]
push edi
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x3c], esi
call fcn.10013a9c
xor edx, edx
mov dword [ebp - 0x10], edx
jmp 0x100426c7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x84], 0xa8e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100426b6
mov dword [ebp - 0x10], edx
jmp 0x100426e0
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x12c]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100426d1
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], edx
jl 0x10042706
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x84], ecx
dec dword [ebp - 0x1c]
jns 0x100426ed
mov eax, dword [ebp - 0x12c]
lea ecx, [ebp - 0x12c]
dec dword [eax + 4]
call fcn.10013af8
mov eax, dword [esi]
mov dword [ebp - 0x60], 0x7a3a
cmp dword [ebp - 0x60], 0x7c5b
mov dword [ebp - 0x50], eax
jle 0x100427a8
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.GDI32.dll_GetRegionData]
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], 0x52b1
mov edi, dword [ebp - 0x20]
mov esi, ecx
mov eax, edi
lea ecx, [ebp - 0x204]
or eax, esi
cdq
push edx
push eax
call fcn.1000a92e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1004276a
mov eax, dword [eax]
push eax
call fcn.10049db3
pop ecx
push 0
push ebx
lea ecx, [ebp - 0x204]
call fcn.1001420c
inc esi
cmp esi, 0x630
jl 0x1004274e
mov edi, dword [ebp - 0x2c]
add dword [ebp - 0x20], edi
dec dword [ebp - 0x24]
push 0
pop ecx
jne 0x10042749
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x8059
jl 0x1004273f
mov esi, dword [ebp - 0x3c]
push 2
pop edi
mov dword [ebp - 0x20], 0x822b1658
cmp dword [ebp - 0x60], 0x768e
jge 0x100427c3
push 0x10009128
call fcn.10049db3
pop ecx
or dword [ebp - 4], 0xffffffff
xor edx, edx
mov dword [ebp - 0x24], 7
mov dword [ebp - 0x60], 0x942075d7
mov dword [ebp - 0x10], edx
jmp 0x100427ea
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x70], 8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100427dc
mov dword [ebp - 0x10], edx
jmp 0x10042805
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1b8], 0xdacb314b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x100427f4
mov eax, dword [ebp - 0x70]
xor ecx, ecx
cmp eax, 0x2721
mov eax, dword [ebp - 0x6c]
setl cl
imul eax, ecx
cmp eax, ebx
jne 0x10042824
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
imul ecx, eax
mov eax, dword [ebp - 0x20]
imul eax, ecx
test eax, eax
je 0x10042dd1
or eax, 0xffffffff
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x4c], 6
push 3
mov dword [ebp - 0x2c], 0x1cb64b69
pop esi
mov dword [ebp - 0x1c], 0x520f3038
mov dword [ebp - 0x74], 0x5807c1a
mov dword [ebp - 0x30], 0xaf1e2cd8
push esi
call fcn.10013a9c
mov dword [ebp - 4], edi
mov dword [ebp - 0x88], 0x1cc0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x4c], 0x13f4
cmp dword [ebp - 0x4c], 0x1088
jge 0x10042c2e
lea eax, [ebp - 0x80]
push eax
push 0x10007684
call fcn.10049acb
pop ecx
pop ecx
mov dword [ebp - 0x7c], ebx
cmp dword [ebp - 0x80], ebx
jl 0x10042c2e
push 9
lea esi, [ebp - 0x318]
pop edi
push esi
push 0x10009194
call fcn.10049acb
pop ecx
add esi, 0xa
pop ecx
dec edi
jne 0x100428d5
xor ebx, ebx
mov esi, ebx
lea eax, [ebp - 0x370]
add eax, esi
lea ecx, [eax + 9]
cmp eax, ecx
je 0x10042908
sub ecx, eax
push ecx
push ebx
push eax
call fcn.10049e70
add esp, 0xc
lea ecx, [ebp - 0x2b8]
lea eax, [ebp - 0x2af]
add ecx, esi
add eax, esi
cmp ecx, eax
je 0x10042929
sub eax, ecx
push eax
push ebx
push ecx
call fcn.10049e70
add esp, 0xc
lea ecx, [ebp - 0x260]
lea eax, [ebp - 0x257]
add ecx, esi
add eax, esi
cmp ecx, eax
je 0x1004294a
sub eax, ecx
push eax
push ebx
push ecx
call fcn.10049e70
add esp, 0xc
push 9
pop edx
xor eax, eax
lea edi, [ebp - 0x1dc]
mov ecx, edx
add esi, edx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x168]
mov ecx, edx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x198]
mov ecx, edx
rep stosd dword es:[edi], eax
cmp esi, 0x51
jl 0x100428ec
xor ecx, ecx
lea edx, [ebp - 0x318]
mov esi, ecx
mov dword [ebp - 0x18], ecx
xor ebx, ebx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x68], edx
inc ebx
mov edi, ecx
mov dword [ebp - 0x10], ecx
mov al, byte [edx + edi]
mov byte [ebp - 0x11], al
cmp al, 0x30
mov eax, dword [ebp - 0x18]
je 0x100429f8
inc dword [ebp + esi*4 - 0x1dc]
movsx esi, byte [ebp - 0x11]
add eax, esi
inc dword [ebp + edi*4 - 0x168]
push 3
mov byte [ebp + eax - 0x3a1], bl
lea eax, [esi + ecx]
mov byte [ebp + eax - 0x2e9], bl
mov eax, dword [ebp - 0x1c]
cdq
pop ecx
idiv ecx
imul ecx, eax, 3
mov eax, edi
cdq
idiv dword [ebp - 0x48]
mov edx, dword [ebp - 0x68]
add eax, ecx
mov ecx, dword [ebp - 0x10]
inc dword [ebp + eax*4 - 0x198]
imul eax, eax, 9
add eax, esi
mov esi, dword [ebp - 0x1c]
mov byte [ebp + eax - 0x291], bl
mov eax, dword [ebp - 0x18]
add ecx, 9
inc edi
mov dword [ebp - 0x10], ecx
cmp ecx, 0x51
jl 0x10042993
add eax, 9
inc esi
add edx, 0xa
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x18], eax
push 0
pop ecx
cmp eax, 0x51
jl 0x1004298e
xor ecx, ecx
mov byte [ebp - 0x11], bl
mov edi, ecx
lea edx, [ebp - 0x370]
lea eax, [ebp - 0x318]
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x4c], eax
mov esi, ecx
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x2b8]
mov dword [ebp - 0x18], ecx
cmp byte [eax], 0x30
jne 0x10042ba4
mov eax, dword [ebp + edi*4 - 0x1dc]
mov byte [ebp - 0x11], 0
push 3
pop ecx
cmp eax, 8
jne 0x10042ac9
mov eax, edi
inc dword [ebp + esi*4 - 0x168]
cdq
idiv ecx
mov dword [ebp + edi*4 - 0x1dc], 9
imul ecx, eax, 3
mov eax, esi
cdq
idiv dword [ebp - 0x48]
mov edx, dword [ebp - 0x1c]
add eax, ecx
mov dword [ebp - 0x64], eax
inc dword [ebp + eax*4 - 0x198]
xor ecx, ecx
cmp byte [edx + ecx], 0
jne 0x10042abe
mov eax, dword [ebp - 0x18]
mov byte [edx + ecx], bl
mov edx, dword [ebp - 0x10]
mov byte [eax + ecx], bl
imul eax, dword [ebp - 0x64], 9
add eax, ecx
mov byte [ebp + eax - 0x260], bl
lea eax, [ecx + 0x31]
mov byte [edx], al
mov edx, dword [ebp - 0x1c]
inc ecx
cmp ecx, 9
jl 0x10042a97
jmp 0x10042b9e
cmp dword [ebp + esi*4 - 0x168], 8
jne 0x10042b34
inc eax
mov dword [ebp + esi*4 - 0x168], 9
mov dword [ebp + edi*4 - 0x1dc], eax
mov eax, edi
cdq
idiv ecx
imul ecx, eax, 3
mov eax, esi
cdq
idiv dword [ebp - 0x48]
add eax, ecx
mov dword [ebp - 0x64], eax
inc dword [ebp + eax*4 - 0x198]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
cmp byte [eax + ecx], 0
jne 0x10042b2c
mov edx, dword [ebp - 0x1c]
mov byte [eax + ecx], bl
imul eax, dword [ebp - 0x64], 9
mov byte [edx + ecx], bl
mov edx, dword [ebp - 0x10]
add eax, ecx
mov byte [ebp + eax - 0x260], bl
lea eax, [ecx + 0x31]
mov byte [edx], al
mov eax, dword [ebp - 0x18]
inc ecx
cmp ecx, 9
jl 0x10042b05
jmp 0x10042b9b
mov eax, edi
cdq
idiv ecx
imul ecx, eax, 3
mov eax, esi
cdq
idiv dword [ebp - 0x48]
lea edx, [ecx + eax]
cmp dword [ebp + edx*4 - 0x198], 8
jne 0x10042b9b
inc dword [ebp + edi*4 - 0x1dc]
xor ecx, ecx
inc dword [ebp + esi*4 - 0x168]
mov edi, dword [ebp - 0x10]
imul eax, edx, 9
mov dword [ebp + edx*4 - 0x198], 9
lea edx, [ebp - 0x260]
add edx, eax
cmp byte [edx + ecx], 0
jne 0x10042b92
mov eax, dword [ebp - 0x1c]
mov byte [edx + ecx], bl
mov byte [eax + ecx], bl
mov eax, dword [ebp - 0x18]
mov byte [eax + ecx], bl
lea eax, [ecx + 0x31]
mov byte [edi], al
inc ecx
cmp ecx, 9
jl 0x10042b78
mov edi, dword [ebp - 0x68]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
add ecx, 9
inc esi
inc eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], eax
cmp esi, 9
jl 0x10042a4a
mov eax, dword [ebp - 0x4c]
inc edi
add eax, 0xa
mov dword [ebp - 0x68], edi
add edx, 9
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x1c], edx
push 0
pop ecx
cmp edi, 9
jl 0x10042a3c
mov al, byte [ebp - 0x11]
test al, al
je 0x10042a20
push dword [ebp - 0x7c]
push 0x10009198
call fcn.10049db3
pop ecx
pop ecx
push 9
lea esi, [ebp - 0x318]
pop edi
push esi
push 0x100091a8
call fcn.10049db3
pop ecx
add esi, 0xa
pop ecx
dec edi
jne 0x10042bfa
push 0x100091ac
call fcn.10049db3
mov eax, dword [ebp - 0x7c]
inc eax
pop ecx
mov dword [ebp - 0x7c], eax
cmp eax, dword [ebp - 0x80]
jle 0x100428cc
push 2
pop edi
push 3
pop esi
push edi
lea ecx, [ebp - 0x114]
call fcn.10013a9c
xor edx, edx
mov dword [ebp - 0x10], edx
jmp 0x10042c54
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], 0x9e1f9531
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10042c41
mov dword [ebp - 0x10], edx
jmp 0x10042c71
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x114]
mov dword [eax + ecx*4], 0xba01c9ac
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10042c5e
cmp dword [ebp - 0xd4], edx
je 0x10042d76
cmp dword [ebp - 0xcc], edx
je 0x10042cb7
mov ecx, dword [ebp - 0x70]
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x74]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
add eax, 0x5393f1bf
cmp eax, dword [ebp - 0x30]
jg 0x10042cb5
mov ecx, ebx
jmp 0x10042cb9
xor edx, edx
mov ecx, edx
mov eax, dword [ebp - 0x60]
add ecx, 0xf2db
neg ecx
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
sbb ecx, ecx
neg ecx
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xcc]
setg dl
sub ecx, edx
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x6c]
inc dword [ebp - 0x60]
cmp ecx, eax
mov eax, ebx
jg 0x10042cf8
mov eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x88]
inc eax
add eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x70]
jle 0x10042d16
mov ecx, ebx
cmp dword [ebp - 0x1c], edx
jne 0x10042d18
mov ecx, edx
mov eax, dword [ebp - 0x6c]
add eax, ecx
xor ecx, ecx
cmp eax, ebx
setg cl
cmp ecx, 0x59e8
jl 0x10042d31
cmp dword [ebp - 0x20], edx
je 0x10042d36
cmp dword [ebp - 0x6c], edx
jne 0x10042d38
mov ebx, edx
mov eax, dword [ebp - 0x88]
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0xf0]
sete cl
xor ebx, ebx
cmp ecx, dword [eax]
setge bl
xor edx, edx
mov dword [eax + 4], ebx
mov eax, dword [ebp - 0x6c]
cmp eax, ebx
mov eax, dword [ebp - 0x2c]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
xor ebx, ebx
inc ebx
cmp ecx, ebx
jle 0x10042d74
mov edx, ebx
jmp 0x10042d76
xor edx, edx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
mov eax, dword [ebp - 0x114]
setne dl
mov dword [eax], edx
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp eax, 0x2f30
mov eax, dword [ebp - 0x24]
setl dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x114]
call fcn.10013af8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf0]
call fcn.10013af8
mov esi, dword [ebp - 0x3c]
jmp 0x10042de8
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], dl
je 0x10042dea
push edx
push edx
push 0xfdb
push edx
push edx
call dword [sym.imp.USER32.dll_CreateDialogIndirectParamA]
xor edx, edx
mov dword [ebp - 0x10], 0x15a13695
add esi, 4
push 3
mov dword [ebp - 0x74], 0xfffffffe
mov dword [ebp - 0x20], edx
pop ecx
jmp 0x10042e14
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xa8], 0xec0ae971
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x10042e03
mov dword [ebp - 0x10], edx
jmp 0x10042e2b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa8], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10042e1e
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0xffffffe8
je 0x10042f32
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x30], 0x6946cb4f
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x64], 0x26f2c0e8
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1521
jg 0x10042e6d
cmp dword [ebp - 0x18], edx
jne 0x10042e70
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0xa4]
test eax, eax
sets cl
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xa4]
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
add ecx, 0xf45f
jne 0x10042ec1
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x10042ec1
mov ebx, eax
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x18]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setne bl
xor ecx, ecx
cmp ebx, eax
setge cl
xor eax, eax
cmp ecx, dword [ebp - 0x18]
jge 0x10042f01
cmp dword [ebp - 0x74], eax
je 0x10042f01
cmp dword [ebp - 0x18], eax
je 0x10042f01
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x10042f04
xor ebx, ebx
inc ebx
cmp ebx, eax
push 0
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
setge dl
mov dword [ebp - 0x64], edx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe8
pop edx
jne 0x10042e3d
cmp dword [ebp - 0x50], 0
jne 0x10042f3b
add esi, 8
mov edi, dword [ebp - 0x28]
mov ecx, 0x948708ef
add esi, dword [ebp - 0x44]
inc edi
cmp edi, dword [ebp - 0x38]
push 2
mov dword [ebp - 0x28], edi
pop edi
jl 0x10042679
mov edi, dword [esi]
mov dword [ebp - 0x1c], 0x7862fd41
mov dword [ebp - 0x28], 0xde450bb
mov dword [ebp - 0x44], 0x67a7bf74
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0xffffffef
je 0x1004312a
mov dword [ebp - 0x10], 0x98070ade
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x44], 0x5ac3d6c1
push 2
call fcn.10013a9c
push 3
pop edx
mov dword [ebp - 4], edx
xor ecx, ecx
mov dword [ebp - 0x50], 0xac3a6081
mov dword [ebp - 0x28], 0xbbd18838
mov dword [ebp - 0x18], ecx
jmp 0x10042fc1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc4], 0x3ba20b95
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10042fb0
mov dword [ebp - 0x18], ecx
jmp 0x10042fde
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10042fcb
mov dword [ebp - 0x10], 0xffffffe3
cmp dword [ebp - 0x10], 0xffffffe8
jl 0x1004306f
xor ebx, ebx
push 2
lea ecx, [ebp - 0x108]
call fcn.10013a9c
push 2
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x10043019
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1a0], 5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10043008
mov dword [ebp - 0x18], ebx
jmp 0x10043036
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x108]
mov dword [eax + ecx*4], 0x11151c3c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10043023
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x108]
mov dword [eax], ecx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10043058
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea ecx, [ebp - 0x108]
call fcn.10013af8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe8
jge 0x10042ff3
xor ebx, ebx
inc ebx
mov dword [ebp - 0x10], 0
jmp 0x10043102
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xc4]
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x7509
mov eax, dword [ebp - 0x10]
setne cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0xc4]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xc4]
cmp eax, edx
sete cl
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x120]
mov dword [eax], ecx
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x10]
jne 0x100430e8
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp dword [ebp + eax*4 - 0xc4], ecx
mov eax, ecx
je 0x100430ea
mov eax, ebx
mov dword [ebp - 0x28], eax
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setne dl
add edx, edx
mov dword [ebp - 0x44], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x1004307b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.10013af8
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffef
jne 0x10042f7a
xor edx, edx
mov eax, dword [esi + 4]
mov dword [ebp - 0x18], 0x147909b7
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x48], 0x3208af06
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x1c], 0x82b00025
mov dword [ebp - 0x38], 0x169ff9e6
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x30], 0xfffffffd
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 0x18], eax
jg 0x100431ac
cmp dword [ebp - 0x18], edx
jne 0x10043182
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
sub eax, 0xfffffffa
neg eax
sbb eax, eax
inc eax
cmp eax, 0x1bb35b68
jle 0x100431a0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jle 0x100432db
mov eax, 0x9843c6bc
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x2c], 0x40f4eb9
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x30
je 0x100432bb
push 3
pop eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x44], 0x62b2
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edx
jl 0x100432ae
mov dword [ebp - 0x30], 0xffffffff
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb8], ebx
mov eax, dword [ebp - 0x28]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edx
jne 0x10043257
cmp dword [ebp - 0xb0], edx
je 0x1004325a
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp eax, 0x6c15
setge cl
xor edx, edx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setne dl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x44], edx
jne 0x100432ab
dec dword [ebp - 0x10]
jns 0x10043214
push 3
pop eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x30
jne 0x100431fe
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x38]
add ecx, ecx
add eax, ecx
neg eax
mov dword [ebp - 0x30], eax
jmp 0x10043303
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10043303
push 0x244
push 0x9b7
push 0x7f7
push 0x1221
push 0x1214
call dword [sym.imp.GDI32.dll_Ellipse]
cmp dword [ebp - 0x50], 0
jne 0x100433f4
cmp byte [ebp - 0x3d], 0
je 0x10043321
cmp dword [ebp - 0x78], ebx
jne 0x10043321
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x44], eax
mov eax, dword [esi + 0xc]
add esi, 0x10
push edi
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x3c], esi
call fcn.10048726
mov dword [ebp - 0x28], eax
xor eax, eax
pop ecx
mov dword [ebp - 0xc8], eax
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xc8]
push eax
push edi
call fcn.10046e54
mov esi, dword [ebp - 0x94]
xor ecx, ecx
test edi, edi
jle 0x100433c5
mov eax, ecx
and eax, 0x80000001
jns 0x10043384
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x44]
add eax, ecx
add eax, dword [ebp - 0x44]
imul eax, dword [ebp - 0x50]
cdq
idiv edi
xor eax, eax
cmp word [esi + edx*2], ax
je 0x100433b0
xor ebx, ebx
lea eax, [edx + 1]
cdq
idiv edi
cmp word [esi + edx*2], bx
jne 0x100433a1
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x3c]
mov word [esi + edx*2], bx
mov al, byte [edx + eax]
mov edx, dword [ebp - 0x28]
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x10043376
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x28]
mov dword [edi + 4], eax
test esi, esi
je 0x100433f7
push esi
call fcn.10049f89
pop ecx
xor ecx, ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], ecx
jmp 0x100433f9
mov edi, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x3c], ebx
mov dword [ebp + 8], ecx
mov dword [ebp - 0x2c], ebx
push 3
mov dword [ebp - 0x24], 0x5631cd1a
mov dword [ebp + 8], ecx
pop edx
jmp 0x1004341f
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x5c], 0x197f
inc dword [ebp + 8]
cmp dword [ebp + 8], edx
jl 0x10043411
mov dword [ebp + 8], ecx
jmp 0x1004343a
mov eax, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x9c], 0xff2fd6b2
inc dword [ebp + 8]
cmp dword [ebp + 8], 2
jl 0x10043429
mov ecx, dword [ebp - 0x5c]
xor edx, edx
mov eax, dword [ebp - 0x5c]
cmp ecx, eax
setle dl
xor ecx, ecx
neg edx
jne 0x10043463
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, ecx
cmp dword [ebp - 0x5c], ecx
jle 0x10043465
mov eax, ebx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
je 0x10043474
cmp dword [ebp - 0x58], ecx
je 0x10043474
mov ecx, ebx
mov eax, dword [ebp - 0x5c]
imul eax, ecx
xor ecx, ecx
dec eax
cmp eax, 0x7bf5cbf7
mov eax, dword [ebp - 0x5c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x54]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x5c]
setle cl
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
setg dl
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
cmp ecx, 0x30bc
je 0x100434c0
mov esi, ebx
cmp dword [ebp - 0x5c], eax
jne 0x100434c2
mov esi, eax
mov eax, dword [ebp - 0x5c]
mov ecx, 0xad95e17c
sub ecx, eax
mov dword [ebp - 0x3c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp + 8], eax
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp + 8]
imul edx, esi
cmp eax, edx
setl cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x9c], eax
test eax, eax
jne 0x10043517
mov eax, dword [ebp - 0x9c]
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
cmp dword [ebp + 8], ecx
jl 0x10043517
xor eax, eax
mov ecx, eax
jmp 0x10043519
mov ecx, ebx
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x5c]
cmp ecx, eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x5c]
setne dl
sub ecx, edx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp + 8]
setle dl
sub edx, 4
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, dword [ebp - 0x58]
jl 0x10043561
cmp dword [ebp - 0x54], eax
jne 0x10043563
mov ebx, eax
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword [ebp + 8], ebx
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret