Function at 0x42a790
Capabilities:
Create thread
Resume thread

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x20
cmp eax, 0x110
push ebx
push esi
push edi
mov esi, ecx
ja 0x42a8d2
je 0x42a8ae
cmp eax, 0x4e
je 0x42a83c
cmp eax, 0x53
je 0x42a80a
cmp eax, 0x7b
jne 0x42a8e0
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov ecx, eax
shr eax, 0x10
and ecx, 0xffff
push eax
push ecx
push edi
mov ecx, esi
call fcn.0042ae70
test eax, eax
jne 0x42ab9c
push 0x4e0a44
push 0xc
push str.ACDSee32.hlp
push edi
call dword [sym.imp.USER32.dll_WinHelpA]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
mov eax, dword [esp + 0x3c]
cmp dword [eax + 4], 1
jne 0x42ab9c
mov eax, dword [eax + 0xc]
push 0x4e0a44
push 0xc
push str.ACDSee32.hlp
push eax
call dword [sym.imp.USER32.dll_WinHelpA]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
cmp dword [esp + 0x38], 0x194
jne 0x42ab9c
mov eax, dword [esp + 0x3c]
cmp dword [eax + 8], 0xfffffe67
jne 0x42ab9c
mov ecx, dword [eax + 0x14]
mov edx, dword [esi + 0xc]
push ecx
push edx
call fcn.0044cf60
mov esi, eax
add esp, 8
test esi, esi
je 0x42ab9c
mov eax, dword [esi]
test eax, eax
je 0x42a881
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esi + 4]
test eax, eax
je 0x42a88e
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esi + 0x5c]
push eax
call fcn.004be975
push esi
call fcn.004be975
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
add esp, 0x20
ret 0x10
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
push ecx
push edx
push 0x110
push eax
mov ecx, esi
call fcn.0042ac30
pop edi
pop esi
pop ebx
add esp, 0x20
ret 0x10
cmp eax, 0x111
je 0x42a91c
cmp eax, 0x401
je 0x42a8eb
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x20
ret 0x10
lea ecx, [esp + 0x3c]
push ecx
push 4
push esi
push 0x42abd0
push 0
push 0
call fcn.004bf407
add esp, 0x18
mov dword [esi + 0x18], eax
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
mov eax, dword [esp + 0x38]
mov ecx, eax
shr ecx, 0x10
test cx, cx
jne 0x42ab9c
and eax, 0xffff
lea ecx, [eax - 1]
cmp ecx, 6
ja case.0x42a93f.3
jmp dword [ecx*4 + 0x42abac]
mov edx, dword [esi + 0xc]
push edx
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [esi + 8]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 1
push eax
call edi
mov ebx, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call ebx
mov ecx, dword [esi + 8]
push 0
push 5
push ecx
call edi
push eax
call ebx
mov edx, dword [esi + 8]
push 0
push 7
push edx
call edi
push eax
call ebx
mov eax, dword [esi + 8]
push 0
push 6
push eax
call edi
push eax
call ebx
mov edx, dword [esi + 8]
mov ebx, dword [sym.imp.USER32.dll_GetWindowRect]
lea ecx, [esp + 0xc]
mov dword [esi + 0x1c], 0
push ecx
push edx
call ebx
mov ecx, dword [esi + 8]
lea eax, [esp + 0x1c]
push eax
push 0x1a0
push ecx
call edi
push eax
call ebx
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0xc]
push 6
mov ecx, dword [esi + 8]
lea eax, [edx + 0xa]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
sub eax, edx
push eax
mov eax, dword [esp + 0x1c]
sub eax, ebx
push eax
push 0
push 0
push 0
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, dword [esi + 8]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
lea eax, [esp + 0x3c]
push eax
push 0
push esi
push 0x42ac00
push 0
push 0
call fcn.004bf407
add esp, 0x18
mov dword [esi + 0x18], eax
mov eax, 1
pop edi
pop esi
pop ebx
add esp, 0x20
ret 0x10
mov eax, dword [esi + 0x18]
test eax, eax
je 0x42aa3a
mov dword [esi + 0x1c], 1
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
mov ecx, dword [esp + 0x30]
push 0
push ecx
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
mov edx, dword [esi + 0xc]
push edx
call fcn.0044cff0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x42ab9c
mov eax, dword [esi + 0xc]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x110a
push eax
call edi
cmp ebx, eax
push ebx
jne 0x42ab73
mov ecx, dword [esi + 0xc]
push 4
push 0x110a
push ecx
call edi
test eax, eax
je 0x42ab80
mov edx, dword [esi + 0xc]
push eax
push 0
push 0x1101
push edx
call edi
mov eax, dword [esi + 0xc]
push ebx
push 4
push 0x110a
push eax
call edi
test eax, eax
jne 0x42aa9e
mov ecx, esi
call fcn.0042b170
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
sub eax, 0x4f93
je case.0x42a93f.7
dec eax
je 0x42aafd
dec eax
jne 0x42ab9c
mov ecx, esi
call fcn.0042afb0
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
mov edx, dword [esi + 0xc]
push edx
call fcn.0044cff0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x42ab9c
mov eax, dword [esi + 0xc]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x110a
push eax
call edi
cmp ebx, eax
push ebx
jne 0x42ab73
mov ecx, dword [esi + 0xc]
push 4
push 0x110a
push ecx
call edi
test eax, eax
je 0x42ab80
mov edx, dword [esi + 0xc]
push eax
push 0
push 0x1101
push edx
call edi
mov eax, dword [esi + 0xc]
push ebx
push 4
push 0x110a
push eax
call edi
test eax, eax
jne 0x42ab3e
mov ecx, esi
call fcn.0042b170
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
mov ecx, dword [esi + 0xc]
push 0
push 0x1101
push ecx
call edi
mov ecx, esi
call fcn.0042b170
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
mov ecx, esi
call fcn.0042b090
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10