Function at 0x1000d5d0
Capabilities:
Delete file
Get common file path
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc74
mov eax, dword [0x100a7914]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
call fcn.10020480
mov dword [ebp - 0xa3c], eax
call fcn.10020490
mov dword [ebp - 0x82c], eax
call fcn.10015900
mov dword [ebp - 0x310], eax
call fcn.100204b0
mov dword [ebp - 0x424], eax
call fcn.100204a0
mov dword [ebp - 0xc48], eax
push 0x3e8c
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x414], eax
push 0x3e8c
push 0
mov eax, dword [ebp - 0x414]
push eax
call fcn.10029e70
add esp, 0xc
mov ecx, dword [ebp + 0xc]
and ecx, 0xffff
movzx edx, cx
mov dword [ebp - 0xc68], edx
mov eax, dword [ebp - 0xc68]
sub eax, 0x3e8
mov dword [ebp - 0xc68], eax
cmp dword [ebp - 0xc68], 0xb4
ja case.0x1000d68b.1
mov ecx, dword [ebp - 0xc68]
movzx edx, byte [ecx + 0x1000e9d4]
jmp dword [edx*4 + 0x1000e970]
mov eax, dword [ebp + 0xc]
shr eax, 0x10
and eax, 0xffff
movzx ecx, ax
cmp ecx, 1
jne 0x1000d804
mov edx, dword [ebp - 0x310]
mov dword [edx + 0xad8], 0
push 0x479
mov eax, dword [ebp + 8]
push eax
call fcn.10015b50
add esp, 8
mov ecx, dword [ebp - 0x310]
mov dword [ecx + 0x554], eax
push 0
push 0
push 0x8021
mov edx, dword [ebp - 0x310]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [ebp - 0x310]
mov edx, dword [ecx + 0x554]
mov dword [ebp - 0xc6c], edx
cmp dword [ebp - 0xc6c], 3
ja case.default.0x1000d714
mov eax, dword [ebp - 0xc6c]
jmp dword [eax*4 + 0x1000ea8c]
call fcn.10007310
push 0
push 0x469
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov edx, dword [ebp - 0x310]
mov dword [edx + 0xad8], 1
jmp case.default.0x1000d714
call fcn.10007340
mov eax, dword [ebp - 0x82c]
push eax
mov ecx, dword [ebp - 0x310]
push ecx
call fcn.1000c000
add esp, 8
push 0
push 0x469
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [ebp - 0x310]
mov dword [eax + 0xad8], 1
jmp case.default.0x1000d714
call fcn.10007370
mov ecx, dword [ebp - 0x82c]
push ecx
mov edx, dword [ebp - 0x310]
push edx
call fcn.1000c000
add esp, 8
push 0
push 0x469
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, dword [ebp - 0x310]
mov dword [ecx + 0xad8], 1
jmp case.default.0x1000d714
push 0
push 0x469
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [ebp - 0x310]
mov dword [eax + 0xad8], 1
jmp 0x1000d888
mov ecx, dword [ebp + 0xc]
shr ecx, 0x10
and ecx, 0xffff
movzx edx, cx
cmp edx, 6
jne 0x1000d888
mov eax, dword [ebp - 0x310]
add eax, 0xae4
push eax
push 0
push 0xc
push 0x479
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov edx, dword [ebp - 0x310]
add edx, 0xae4
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
and eax, 0xffff
movzx esi, ax
mov eax, dword [ebp - 0x310]
add eax, 0xae4
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
and eax, 0xffff
movzx ecx, ax
shl ecx, 0x10
or esi, ecx
push esi
push 0
push 0x142
push 0x479
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
jmp case.0x1000d68b.1
lea eax, [ebp - 0x828]
push eax
push 0
push 0x10051968
push 0x10051950
mov ecx, dword [ebp + 8]
push ecx
call fcn.10012210
add esp, 0x14
lea edx, [ebp - 0x828]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x1000d984
mov eax, dword [ebp - 0x310]
mov dword [eax + 0xad8], 0
push 1
lea ecx, [ebp - 0x828]
push ecx
call fcn.10008640
add esp, 8
lea edx, [ebp - 0x930]
push edx
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0xc40]
push ecx
lea edx, [ebp - 0xa30]
push edx
lea eax, [ebp - 0x828]
push eax
call fcn.1002a9c0
add esp, 0x14
lea ecx, [ebp - 0x308]
push ecx
push 0x10051830
mov edx, dword [ebp - 0x310]
add edx, 0x644
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
call fcn.10006cc0
mov eax, dword [ebp - 0x310]
add eax, 0x644
push eax
call fcn.10006c50
add esp, 4
mov ecx, dword [ebp - 0x310]
mov dword [ecx + 0xad8], 1
mov edx, dword [ebp - 0x310]
mov dword [edx + 0xad4], 1
mov eax, dword [ebp - 0xa3c]
mov dword [eax + 0x4ec], 1
mov ecx, dword [ebp + 8]
push ecx
call fcn.10011f50
add esp, 4
jmp case.0x1000d68b.1
lea edx, [ebp - 0x828]
push edx
push 1
push 0x10051968
push 0x10051950
mov eax, dword [ebp + 8]
push eax
call fcn.10012210
add esp, 0x14
lea ecx, [ebp - 0x828]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x1000da29
lea edx, [ebp - 0x828]
push edx
call fcn.100073a0
add esp, 4
lea eax, [ebp - 0x930]
push eax
lea ecx, [ebp - 0x308]
push ecx
lea edx, [ebp - 0xc40]
push edx
lea eax, [ebp - 0xa30]
push eax
lea ecx, [ebp - 0x828]
push ecx
call fcn.1002a9c0
add esp, 0x14
lea edx, [ebp - 0x308]
push edx
push 0x10051830
mov eax, dword [ebp - 0x310]
add eax, 0x644
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov ecx, dword [ebp - 0x310]
add ecx, 0x644
push ecx
call fcn.10006c50
add esp, 4
jmp case.0x1000d68b.1
mov edx, dword [ebp + 0xc]
shr edx, 0x10
and edx, 0xffff
movzx eax, dx
cmp eax, 1
jne 0x1000dc28
push 0x3f8
mov ecx, dword [ebp + 8]
push ecx
call fcn.10015b50
add esp, 8
mov edx, dword [ebp - 0x310]
mov dword [edx + 0x560], eax
mov eax, dword [ebp - 0x82c]
mov ecx, dword [ebp - 0x310]
mov edx, dword [ecx + 0x560]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x310]
cmp dword [eax + 0x560], 4
jle 0x1000daa2
push 0
push 0x64
push 0x19
push 0x64
push 0x483
mov ecx, dword [ebp + 8]
push ecx
call fcn.10015e10
add esp, 0x18
jmp 0x1000dabe
push 0
push 0x190
push 0x19
push 0x64
push 0x483
mov edx, dword [ebp + 8]
push edx
call fcn.10015e10
add esp, 0x18
mov eax, dword [ebp - 0x310]
cmp dword [eax + 0x560], 4
jl 0x1000db46
push 0x1f5
call fcn.10006560
add esp, 4
mov dword [ebp - 0x30c], eax
push 0
push 0x48a
mov ecx, dword [ebp - 0x30c]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x48a
mov edx, dword [ebp - 0x30c]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
push 0xf1
push 0x48a
mov eax, dword [ebp - 0x30c]
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov ecx, dword [ebp - 0xa3c]
mov dword [ecx + 0xac], 0
jmp 0x1000dbcd
push 0x1f5
call fcn.10006560
add esp, 4
mov dword [ebp - 0x30c], eax
push 1
push 0x48a
mov edx, dword [ebp - 0x30c]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 5
push 0x48a
mov eax, dword [ebp - 0x30c]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
mov ecx, dword [ebp - 0x310]
mov edx, dword [ecx + 0x5f8]
push edx
push 0xf1
push 0x48a
mov eax, dword [ebp - 0x30c]
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov ecx, dword [ebp - 0xa3c]
mov edx, dword [ebp - 0x310]
mov eax, dword [edx + 0x5f8]
mov dword [ecx + 0xac], eax
push 0
push 0x48a
mov ecx, dword [ebp - 0x30c]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x48a
mov edx, dword [ebp - 0x30c]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x82c]
push eax
mov ecx, dword [ebp - 0x310]
push ecx
call fcn.1000c000
add esp, 8
call fcn.10012ce0
call fcn.10013310
call fcn.100065e0
jmp case.0x1000d68b.1
mov edx, dword [ebp + 0xc]
shr edx, 0x10
and edx, 0xffff
movzx eax, dx
cmp eax, 1
jne 0x1000dcad
push 0x3f9
mov ecx, dword [ebp + 8]
push ecx
call fcn.10015b50
add esp, 8
mov edx, dword [ebp - 0x310]
mov dword [edx + 0x558], eax
mov eax, dword [ebp - 0xa3c]
mov ecx, dword [ebp - 0x310]
mov edx, dword [ecx + 0x558]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x82c]
push eax
mov ecx, dword [ebp - 0x310]
push ecx
call fcn.1000c000
add esp, 8
mov edx, dword [ebp - 0x310]
mov dword [edx + 0xad4], 1
call fcn.10012ce0
call fcn.10015650
call fcn.10013310
call fcn.100065e0
jmp case.0x1000d68b.1
mov eax, dword [ebp + 0xc]
shr eax, 0x10
and eax, 0xffff
movzx ecx, ax
cmp ecx, 1
jne 0x1000dd39
mov edx, dword [ebp - 0x310]
mov eax, dword [ebp - 0x310]
mov ecx, dword [eax + 0x55c]
mov dword [edx + 0xaac], ecx
push 0x3fb
mov edx, dword [ebp + 8]
push edx
call fcn.10015b50
add esp, 8
mov ecx, dword [ebp - 0x310]
mov dword [ecx + 0x55c], eax
mov edx, dword [ebp - 0x82c]
mov eax, dword [ebp - 0x310]
mov ecx, dword [eax + 0x55c]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0xa3c]
mov dword [edx + 0x4ec], 1
mov eax, dword [ebp - 0x310]
mov dword [eax + 0xad4], 1
call fcn.10012ce0
call fcn.100065e0
jmp case.0x1000d68b.1
mov ecx, dword [ebp + 0xc]
shr ecx, 0x10
and ecx, 0xffff
movzx edx, cx
cmp edx, 1
jne 0x1000dead
push 0x3fd
mov eax, dword [ebp + 8]
push eax
call fcn.10015b50
add esp, 8
mov ecx, dword [ebp - 0x310]
mov dword [ecx + 0x564], eax
mov edx, dword [ebp - 0x82c]
mov eax, dword [ebp - 0x310]
mov ecx, dword [eax + 0x564]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x310]
cmp dword [edx + 0x564], 0
jne 0x1000dde4
push 1
push 0x3eb
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x478
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x478
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x1000de81
mov eax, dword [ebp - 0x310]
cmp dword [eax + 0x564], 1
jne 0x1000de53
push 0
push 0x478
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x478
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0x3eb
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x474
push 0x111
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x1000de81
push 0
push 0x3eb
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x474
push 0x111
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0x82c]
push ecx
mov edx, dword [ebp - 0x310]
push edx
call fcn.1000c000
add esp, 8
call fcn.10012ce0
mov eax, dword [ebp + 8]
push eax
call fcn.10011f50
add esp, 4
call fcn.100065e0
jmp case.0x1000d68b.1
mov ecx, dword [ebp + 0xc]
shr ecx, 0x10
and ecx, 0xffff
movzx edx, cx
cmp edx, 0x300
jne 0x1000df02
push 1
push 0
push 0x483
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDlgItemInt]
mov ecx, dword [ebp - 0x310]
mov dword [ecx + 0x568], eax
mov edx, dword [ebp - 0xa3c]
mov eax, dword [ebp - 0x310]
mov ecx, dword [eax + 0x568]
mov dword [edx + 0x28], ecx
call fcn.100065e0
mov edx, dword [ebp + 0xc]
shr edx, 0x10
and edx, 0xffff
movzx eax, dx
cmp eax, 0x200
jne 0x1000df63
mov ecx, dword [ebp - 0x310]
cmp dword [ecx + 0x560], 4
jle 0x1000df42
push 1
push 0x64
push 0x19
push 0x64
push 0x483
mov edx, dword [ebp + 8]
push edx
call fcn.10015e10
add esp, 0x18
jmp 0x1000df5e
push 1
push 0x190
push 0x19
push 0x64
push 0x483
mov eax, dword [ebp + 8]
push eax
call fcn.10015e10
add esp, 0x18
call fcn.10012ce0
jmp case.0x1000d68b.1
mov ecx, dword [ebp + 0xc]
shr ecx, 0x10
and ecx, 0xffff
movzx edx, cx
cmp edx, 1
jne 0x1000dfbf
push 0x476
mov eax, dword [ebp + 8]
push eax
call fcn.10015b50
add esp, 8
mov ecx, dword [ebp - 0x310]
mov dword [ecx + 0x56c], eax
mov edx, dword [ebp - 0xa3c]
mov eax, dword [ebp - 0x310]
mov ecx, dword [eax + 0x56c]
mov dword [edx + 0x2c], ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10011f50
add esp, 4
call fcn.100065e0
jmp case.0x1000d68b.1
push 0x478
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov ecx, dword [ebp - 0x310]
mov dword [ecx + 0x570], eax
mov edx, dword [ebp - 0xa3c]
mov eax, dword [ebp - 0x310]
mov ecx, dword [eax + 0x570]
mov dword [edx + 0x30], ecx
call fcn.100065e0
mov edx, dword [ebp + 8]
push edx
call fcn.10011f50
add esp, 4
jmp case.0x1000d68b.1
push 0x3e8
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov ecx, dword [ebp - 0x310]
mov dword [ecx + 0x578], eax
mov edx, dword [ebp - 0xa3c]
mov eax, dword [ebp - 0x310]
mov ecx, dword [eax + 0x578]
mov dword [edx + 0x34], ecx
mov edx, dword [ebp - 0x310]
mov dword [edx + 0xad4], 1
call fcn.100065e0
jmp case.0x1000d68b.1
mov eax, dword [ebp - 0x424]
cmp dword [eax + 0xc], 0
jle 0x1000e1fd
mov ecx, dword [ebp - 0x424]
cmp dword [ecx + 0x10], 0
jle 0x1000e1fd
mov edx, dword [ebp - 0x424]
cmp dword [edx], 0
je 0x1000e1fd
mov eax, dword [ebp - 0x424]
cmp dword [eax], 0
je 0x1000e0c6
mov ecx, dword [ebp - 0x424]
mov edx, dword [ecx]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalHandle]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0x424]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalHandle]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov edx, dword [ebp - 0x424]
mov dword [edx], 0
mov eax, dword [ebp - 0xa3c]
mov dword [eax + 0x8f0], 0
push 0x400
push 0
mov ecx, dword [ebp - 0xa3c]
add ecx, 0x4f0
push ecx
call fcn.10029e70
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x420]
push eax
call fcn.10013550
add esp, 4
mov ecx, dword [ebp - 0x420]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0x3ff
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0xc4c], eax
push 0
push 0
push 0x130b
mov ecx, dword [ebp - 0xc4c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x418], eax
mov edx, dword [ebp - 0x418]
imul edx, edx, 0xc
mov eax, dword [ebp - 0x310]
cmp dword [eax + edx + 0xc], 0x1f9
jne 0x1000e1bc
mov ecx, dword [ebp - 0x418]
imul ecx, ecx, 0xc
mov edx, dword [ebp - 0x310]
mov eax, dword [edx + ecx + 8]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x420], eax
mov ecx, dword [ebp - 0x420]
push ecx
call fcn.10013df0
add esp, 4
mov edx, dword [ebp - 0x420]
push edx
mov eax, dword [ebp - 0x418]
imul eax, eax, 0xc
mov ecx, dword [ebp - 0x310]
mov edx, dword [ecx + eax + 8]
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0
push 0x23
lea eax, [ebp - 0x108]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
push str.eSSu.raw
lea ecx, [ebp - 0x108]
push ecx
push 0x10051900
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp case.0x1000d68b.1
mov ecx, dword [ebp - 0x424]
cmp dword [ecx + 0xc], 0
jle 0x1000e4ae
mov edx, dword [ebp - 0x424]
cmp dword [edx + 0x10], 0
jle 0x1000e4ae
mov eax, dword [ebp - 0x424]
cmp dword [eax], 0
je 0x1000e4ae
mov ecx, dword [ebp - 0x310]
mov dword [ecx + 0x55c], 0xff
mov edx, dword [ebp - 0x82c]
mov dword [edx + 4], 0xff
mov eax, dword [ebp - 0x310]
mov dword [eax + 0xae0], 1
mov dword [ebp - 0xc54], 0
mov dword [ebp - 0x428], 0
mov ecx, dword [ebp - 0x424]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xa38], edx
mov eax, dword [ebp - 0x424]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xa34], ecx
mov edx, dword [ebp - 0x414]
mov dword [edx + 0x3e84], 7
mov eax, dword [ebp - 0x414]
mov dword [eax + 0x3e88], 0xb4
mov ecx, dword [ebp - 0x424]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x424]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x414]
push edx
mov eax, dword [ebp - 0x424]
mov ecx, dword [eax + 8]
push ecx
call fcn.10017d00
add esp, 0x10
mov dword [ebp - 0xc50], 0
jmp 0x1000e2f8
mov edx, dword [ebp - 0xc50]
add edx, 1
mov dword [ebp - 0xc50], edx
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0xc50]
cmp ecx, dword [eax]
jge 0x1000e3e1
mov edx, dword [ebp - 0xc50]
shl edx, 4
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0xc54]
cmp ecx, dword [eax + edx + 4]
jge 0x1000e340
mov edx, dword [ebp - 0xc50]
shl edx, 4
mov eax, dword [ebp - 0x414]
mov ecx, dword [eax + edx + 4]
mov dword [ebp - 0xc54], ecx
mov edx, dword [ebp - 0xc50]
shl edx, 4
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0x428]
cmp ecx, dword [eax + edx + 0xc]
jge 0x1000e374
mov edx, dword [ebp - 0xc50]
shl edx, 4
mov eax, dword [ebp - 0x414]
mov ecx, dword [eax + edx + 0xc]
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0xc50]
shl edx, 4
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0xa38]
cmp ecx, dword [eax + edx + 8]
jle 0x1000e3a8
mov edx, dword [ebp - 0xc50]
shl edx, 4
mov eax, dword [ebp - 0x414]
mov ecx, dword [eax + edx + 8]
mov dword [ebp - 0xa38], ecx
mov edx, dword [ebp - 0xc50]
shl edx, 4
mov eax, dword [ebp - 0x414]
mov ecx, dword [ebp - 0xa34]
cmp ecx, dword [eax + edx + 0x10]
jle 0x1000e3dc
mov edx, dword [ebp - 0xc50]
shl edx, 4
mov eax, dword [ebp - 0x414]
mov ecx, dword [eax + edx + 0x10]
mov dword [ebp - 0xa34], ecx
jmp 0x1000e2e9
fild dword [ebp - 0xa38]
fdiv qword [0x10051948]
mov edx, dword [ebp - 0x310]
fstp dword [edx + 0x630]
fild dword [ebp - 0xa34]
fdiv qword [0x10051948]
mov eax, dword [ebp - 0x310]
fstp dword [eax + 0x634]
mov ecx, dword [ebp - 0xc54]
sub ecx, dword [ebp - 0xa38]
mov dword [ebp - 0xc70], ecx
fild dword [ebp - 0xc70]
fdiv qword [0x10051948]
mov edx, dword [ebp - 0x310]
fstp dword [edx + 0x628]
mov eax, dword [ebp - 0x428]
sub eax, dword [ebp - 0xa34]
mov dword [ebp - 0xc74], eax
fild dword [ebp - 0xc74]
fdiv qword [0x10051948]
mov ecx, dword [ebp - 0x310]
fstp dword [ecx + 0x62c]
mov edx, dword [ebp - 0x310]
mov eax, dword [edx + 0x55c]
push eax
push 0x3fb
mov ecx, dword [ebp - 0x310]
mov edx, dword [ecx + 4]
push edx
call fcn.10015910
add esp, 0xc
mov eax, dword [ebp - 0x310]
mov dword [eax + 0xad4], 1
mov ecx, dword [ebp - 0xa3c]
mov dword [ecx + 0x4ec], 1
call fcn.10012ce0
mov edx, dword [ebp - 0x310]
mov dword [edx + 0xae0], 0
jmp case.0x1000d68b.1
push 0x47e
call fcn.100116d0
add esp, 4
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x41c]
imul eax, eax, 0x14
mov ecx, dword [ebp - 0x310]
cmp dword [ecx + eax + 0xef4], 1
jne 0x1000e51b
mov edx, dword [ebp - 0x41c]
imul edx, edx, 0x14
mov eax, dword [ebp - 0x310]
mov dword [eax + edx + 0xef4], 0
mov ecx, dword [ebp - 0x310]
mov dword [ecx + 0x608], 0
jmp 0x1000e545
mov edx, dword [ebp - 0x41c]
imul edx, edx, 0x14
mov eax, dword [ebp - 0x310]
mov dword [eax + edx + 0xef4], 1
mov ecx, dword [ebp - 0x310]
mov dword [ecx + 0x608], 1
call fcn.100065e0
jmp case.0x1000d68b.1
push 0x480
call fcn.100116d0
add esp, 4
mov dword [ebp - 0x41c], eax
mov edx, dword [ebp - 0x41c]
imul edx, edx, 0x14
mov eax, dword [ebp - 0x310]
cmp dword [eax + edx + 0xef4], 1
jne 0x1000e5a7
mov ecx, dword [ebp - 0x41c]
imul ecx, ecx, 0x14
mov edx, dword [ebp - 0x310]
mov dword [edx + ecx + 0xef4], 0
mov eax, dword [ebp - 0xa3c]
mov dword [eax + 0x4d8], 0
jmp 0x1000e5d1
mov ecx, dword [ebp - 0x41c]
imul ecx, ecx, 0x14
mov edx, dword [ebp - 0x310]
mov dword [edx + ecx + 0xef4], 1
mov eax, dword [ebp - 0xa3c]
mov dword [eax + 0x4d8], 1
mov ecx, dword [ebp - 0x310]
mov edx, dword [ebp - 0xa3c]
mov eax, dword [edx + 0x4d8]
mov dword [ecx + 0x60c], eax
mov ecx, dword [ebp - 0x310]
mov dword [ecx + 0xad4], 1
call fcn.100065e0
jmp case.0x1000d68b.1
mov edx, dword [ebp + 0xc]
shr edx, 0x10
and edx, 0xffff
movzx eax, dx
cmp eax, 1
jne 0x1000e63e
push 0x45f
mov ecx, dword [ebp + 8]
push ecx
call fcn.10015b50
add esp, 8
mov edx, dword [ebp - 0x310]
mov dword [edx + 0x574], eax
call fcn.10012ce0
call fcn.100065e0
jmp case.0x1000d68b.1
push str.TOSHIBA_e_STUDIO2823AMSeries_Scan_Driver
push 0x10051830
lea eax, [ebp - 0xb40]
push eax
call fcn.1002a35f
add esp, 0xc
mov ecx, dword [ebp - 0x310]
add ecx, 0x12b4
push ecx
call fcn.100073a0
add esp, 4
call fcn.1000fb40
call fcn.10020330
mov dword [ebp - 0xc44], eax
cmp dword [ebp - 0xc44], 1
jne 0x1000e68f
jmp case.0x1000d68b.1
cmp dword [ebp - 0xc44], 5
jne 0x1000e6ea
push 0x100
lea edx, [ebp - 0x410]
push edx
push 0x843
mov eax, dword [ebp - 0x310]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x10
lea edx, [ebp - 0xb40]
push edx
lea eax, [ebp - 0x410]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
push 0x3ec
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
jmp case.0x1000d68b.1
push 0
push 0
push 0x10
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_EndDialog]
jmp case.0x1000d68b.1
mov edx, dword [ebp - 0x424]
cmp dword [edx], 0
je 0x1000e753
mov eax, dword [ebp - 0x424]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalHandle]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edx, dword [ebp - 0x424]
mov eax, dword [edx]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalHandle]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ecx, dword [ebp - 0x424]
mov dword [ecx], 0
call fcn.1000ac30
call fcn.1000fb90
call fcn.100203e0
jmp case.0x1000d68b.1
push 0
push 0x10002200
mov edx, dword [ebp + 8]
push edx
push 0x81c
mov eax, dword [ebp - 0x310]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
jmp case.0x1000d68b.1
push 0
push 0x1000ace0
mov edx, dword [ebp + 8]
push edx
push 0x66
mov eax, dword [ebp - 0x310]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
jmp case.0x1000d68b.1
push 0x100
lea edx, [ebp - 0xc40]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push str.TWAIN_32e_STUDIO2823AMSerieseSSu.CHM
push 0x10051830
lea eax, [ebp - 0xa30]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0xa30]
push ecx
lea edx, [ebp - 0xc40]
push edx
push str._s_s
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0
push 0
lea ecx, [ebp - 0x108]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.1003dde7
mov ecx, dword [ebp - 0x310]
mov dword [ecx + 0x13b4], eax
jmp case.0x1000d68b.1
lea edx, [ebp - 0xc64]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea ecx, [ebp - 0xc64]
push ecx
push 0
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 1
mov edx, dword [ebp - 0x310]
mov eax, dword [edx + 0xac0]
push eax
mov ecx, dword [ebp - 0x310]
mov edx, dword [ecx + 0xabc]
push edx
mov eax, dword [ebp - 0xc60]
push eax
mov ecx, dword [ebp - 0xc64]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_MoveWindow]
push 0
push 0x47a
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x47a
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [ebp - 0x310]
mov dword [edx + 0x610], 1
call fcn.100065e0
jmp case.0x1000d68b.1
lea eax, [ebp - 0xc64]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea edx, [ebp - 0xc64]
push edx
push 0
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 1
mov eax, dword [ebp - 0x310]
mov ecx, dword [eax + 0xac8]
push ecx
mov edx, dword [ebp - 0x310]
mov eax, dword [edx + 0xac4]
push eax
mov ecx, dword [ebp - 0xc60]
push ecx
mov edx, dword [ebp - 0xc64]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_MoveWindow]
push 1
push 0x47a
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 5
push 0x47a
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x310]
mov dword [eax + 0x610], 0
call fcn.100065e0
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10029d6b
mov esp, ebp
pop ebp
ret