Function at 0x1000671c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1005df26
push eax
mov dword fs:[0], esp
sub esp, 0x90
cmp byte [ebp + 8], 0
push ebx
push esi
push edi
mov esi, ecx
je 0x1000677b
cmp byte [ebp + 0x1c], 0
je 0x1000675b
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov word [eax], cx
jmp 0x10006b6d
mov eax, dword [ebp + 0x18]
cmp byte [eax], 0
je 0x10006b6d
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MapDialogRect]
jmp 0x10006b6d
cmp byte [ebp + 0x14], 0
je 0x100067a0
mov dword [edx], 0
jmp 0x10006796
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [edx]
cmp dword [edx], 2
jl 0x10006789
jmp 0x10006b6d
mov dword [esp + 0x14], 0x162d
cmp dword [esp + 0x14], 0x7d9
push 0
pop ebx
jge 0x10006ab4
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x1c]
push eax
push str._d__d_n
call fcn.10047342
add esp, 0xc
mov byte [esp + 0x13], 0x30
lea eax, [esp + 0x13]
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x40]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
push eax
push dword [esp + 0x10]
call fcn.100096ad
mov dword [esp + 0xa4], ebx
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x1c]
lea ecx, [esp + 0x68]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
call fcn.100096e2
mov byte [esp + 0xa4], 2
cmp dword [esp + 0x40], ebx
je 0x1000683c
push dword [esp + 0x40]
call fcn.10047259
pop ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
cmp dword [esp + 0x18], 0
mov edi, ebx
jle 0x10006880
mov ebx, dword [esp + 0x60]
xor esi, esi
cmp dword [esp + 0xc], esi
jle 0x10006869
mov eax, dword [ebx]
add eax, esi
push eax
push 0x10066d54
call fcn.10047342
inc esi
pop ecx
pop ecx
cmp esi, dword [esp + 0xc]
jl 0x10006851
push 0x10066d58
call fcn.10047342
inc edi
add ebx, 0xc
pop ecx
cmp edi, dword [esp + 0x18]
jl 0x10006849
xor ebx, ebx
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
push str._d__d_n
call fcn.10047342
add esp, 0xc
mov byte [esp + 0x12], 0x30
lea eax, [esp + 0x12]
mov dword [esp + 0x34], ebx
lea ecx, [esp + 0x34]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
push eax
push dword [esp + 0x24]
call fcn.100096ad
mov byte [esp + 0xa4], 3
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x20]
lea ecx, [esp + 0x74]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
call fcn.100096e2
cmp dword [esp + 0x34], 0
je 0x100068fd
push dword [esp + 0x34]
call fcn.10047259
pop ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jle 0x10006940
mov edi, dword [esp + 0x6c]
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x10006929
mov eax, dword [edi]
add eax, esi
push eax
push 0x10066d54
call fcn.10047342
inc esi
pop ecx
pop ecx
cmp esi, dword [esp + 0x20]
jl 0x10006911
push 0x10066d58
call fcn.10047342
pop ecx
mov ecx, dword [esp + 0x1c]
inc ebx
add edi, 0xc
cmp ebx, ecx
jl 0x10006909
mov edx, dword [esp + 0xc]
xor eax, eax
mov dword [esp + 0x4c], eax
mov esi, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x18]
cmp eax, ecx
mov edi, eax
mov dword [esp + 0x24], eax
cmovl edi, ecx
cmp edx, dword [esp + 0x20]
mov dword [esp + 0x58], edi
cmovl esi, dword [esp + 0x20]
neg edi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x50], edi
cmp edi, dword [esp + 0x58]
jg 0x10006a83
mov edx, esi
neg edx
imul ebx, edi, 0xc
mov dword [esp + 0x7c], edx
mov dword [esp + 0x28], ebx
mov ebx, esi
mov esi, edx
cmp esi, ebx
jg 0x10006a6f
xor edx, edx
test eax, eax
jle 0x10006a2f
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x78], edi
mov dword [esp + 0x2c], ebx
xor ebx, ebx
cmp dword [esp + 0xc], ebx
jle 0x10006a15
mov eax, dword [esp + 0xc]
test edi, edi
js 0x10006a0c
cmp edi, ecx
jge 0x10006a0c
lea eax, [ebx + esi]
test eax, eax
js 0x10006a08
cmp eax, dword [esp + 0x20]
jge 0x10006a08
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
cmp byte [ebx + eax], 0x31
jne 0x10006a08
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x2c]
mov eax, dword [ecx + eax]
mov ecx, dword [esp + 0x1c]
add eax, ebx
cmp byte [eax + esi], 0x31
mov eax, dword [esp + 0xc]
jne 0x10006a0c
inc edx
jmp 0x10006a0c
mov eax, dword [esp + 0xc]
inc ebx
cmp ebx, eax
jl 0x100069c9
mov eax, dword [esp + 0x24]
add dword [esp + 0x2c], 0xc
inc edi
add dword [esp + 0x30], 0xc
dec eax
mov dword [esp + 0x24], eax
jne 0x100069bd
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x4c]
cmp edx, eax
jle 0x10006a45
mov eax, edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], edi
push eax
push edx
push esi
push edi
push str.x:_d_ty:_d_ttotalSum:_ld_tmaxSum:_ld_n
call fcn.10047084
mov eax, dword [esp + 0x2c]
add esp, 0x14
mov ecx, dword [esp + 0x1c]
inc esi
mov dword [esp + 0x24], eax
cmp esi, ebx
jle 0x1000699f
mov edx, dword [esp + 0x7c]
add dword [esp + 0x28], 0xc
inc edi
mov dword [esp + 0x50], edi
cmp edi, dword [esp + 0x58]
jle 0x10006995
push dword [esp + 0x54]
push dword [esp + 0x18]
push str._d__d_n
call fcn.10047084
add esp, 0xc
lea ecx, [esp + 0x6c]
call fcn.10009784
or dword [esp + 0xa4], 0xffffffff
lea ecx, [esp + 0x60]
call fcn.10009784
xor ebx, ebx
mov dword [esp + 0x14], 0x77f2
cmp dword [esp + 0x14], 0x7861
push 1
pop esi
jle 0x10006b39
push ebx
push ebx
push 0x21f9
push 0x26bd
push ebx
call dword [sym.imp.USER32.dll_InsertMenuW]
mov edi, ebx
mov eax, ebx
lea ecx, [esp + 0x80]
and eax, edi
cdq
push edx
push eax
call fcn.10001a75
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10006afb
mov eax, dword [eax]
push eax
call fcn.10047084
pop ecx
push 0
push esi
lea ecx, [esp + 0x88]
call fcn.10002352
inc ebx
cmp ebx, 0x7547
jl 0x10006ade
inc edi
push 0
pop ebx
cmp edi, 0x3d42
jl 0x10006ade
push ebx
push 0x1346
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetScrollInfo]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x20]
mov eax, dword [edx]
inc dword [eax]
je 0x10006b4f
mov eax, dword [edx]
cmp dword [eax], ebx
je 0x10006b51
mov eax, dword [ecx]
jmp 0x10006b51
mov esi, ebx
mov eax, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], esi
cmp dword [esp + 0x14], 0x75c4
jge 0x10006b6d
push str.ygerzbvj_amlbeqlvx_rgu_ggcff_ydyfnjnqa_xxf_drbgs_lto_bwue_tjd_dnitcj
call fcn.10047084
pop ecx
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret