Function at 0x4373a0
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 0x4374b3
je 0x43748f
cmp eax, 0x4e
je 0x43744c
cmp eax, 0x53
je 0x43741a
cmp eax, 0x7b
jne 0x4374c1
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.00437ac0
test eax, eax
jne 0x437785
push 0x4ee8dc
push 0xc
push str.ACDSee.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 0x437785
mov eax, dword [eax + 0xc]
push 0x4ee8dc
push 0xc
push str.ACDSee.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 0x437785
mov eax, dword [esp + 0x3c]
cmp dword [eax + 8], 0xfffffe67
jne 0x437785
mov ecx, dword [eax + 0x14]
mov edx, dword [esi + 0xc]
push ecx
push edx
call fcn.00473500
push eax
call fcn.004bd4c4
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
add esp, 0x20
ret 0x10
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
push eax
push ecx
push 0x110
push edx
mov ecx, esi
call fcn.00437850
pop edi
pop esi
pop ebx
add esp, 0x20
ret 0x10
cmp eax, 0x111
je 0x4374fd
cmp eax, 0x401
je 0x4374cc
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x20
ret 0x10
lea eax, [esp + 0x3c]
push eax
push 4
push esi
push 0x4377f0
push 0
push 0
call fcn.004a899b
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 0x437785
and eax, 0xffff
lea ecx, [eax - 1]
cmp ecx, 0x38
ja case.0x437528.6
xor edx, edx
mov dl, byte [ecx + 0x4377ac]
jmp dword [edx*4 + 0x437794]
mov eax, dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [esi + 8]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 1
push ecx
call edi
mov ebx, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call ebx
mov edx, dword [esi + 8]
push 0
push 0x37
push edx
call edi
push eax
call ebx
mov eax, dword [esi + 8]
push 0
push 0x39
push eax
call edi
push eax
call ebx
mov ecx, dword [esi + 8]
push 0
push 0x38
push ecx
call edi
push eax
call ebx
mov eax, dword [esi + 8]
mov ebx, dword [sym.imp.USER32.dll_GetWindowRect]
lea edx, [esp + 0xc]
mov dword [esi + 0x1c], 0
push edx
push eax
call ebx
mov edx, dword [esi + 8]
lea ecx, [esp + 0x1c]
push ecx
push 0x1a0
push edx
call edi
push eax
call ebx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
add eax, 0xa
push 6
mov dword [esp + 0x1c], eax
sub eax, edx
mov edx, dword [esi + 8]
sub ecx, ebx
push eax
push ecx
push 0
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [esi + 8]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
lea ecx, [esp + 0x3c]
push ecx
push 0
push esi
push 0x437820
push 0
push 0
call fcn.004a899b
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 0x437623
mov dword [esi + 0x1c], 1
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
mov edx, dword [esp + 0x30]
push 0
push edx
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
mov eax, dword [esi + 0xc]
push eax
call fcn.00473590
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x437785
mov ecx, dword [esi + 0xc]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x110a
push ecx
call edi
cmp ebx, eax
push ebx
jne 0x43775c
mov edx, dword [esi + 0xc]
push 4
push 0x110a
push edx
call edi
test eax, eax
je 0x437769
push eax
mov eax, dword [esi + 0xc]
push 0
push 0x1101
push eax
call edi
mov ecx, dword [esi + 0xc]
push ebx
push 4
push 0x110a
push ecx
call edi
test eax, eax
jne 0x437687
mov ecx, esi
call fcn.00437dc0
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
sub eax, 0x4f93
je case.0x437528.5
dec eax
je 0x4376e6
dec eax
jne 0x437785
mov ecx, esi
call fcn.00437c00
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
mov eax, dword [esi + 0xc]
push eax
call fcn.00473590
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x437785
mov ecx, dword [esi + 0xc]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x110a
push ecx
call edi
cmp ebx, eax
push ebx
jne 0x43775c
mov edx, dword [esi + 0xc]
push 4
push 0x110a
push edx
call edi
test eax, eax
je 0x437769
push eax
mov eax, dword [esi + 0xc]
push 0
push 0x1101
push eax
call edi
mov ecx, dword [esi + 0xc]
push ebx
push 4
push 0x110a
push ecx
call edi
test eax, eax
jne 0x437727
mov ecx, esi
call fcn.00437dc0
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
mov edx, dword [esi + 0xc]
push 0
push 0x1101
push edx
call edi
mov ecx, esi
call fcn.00437dc0
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10
mov ecx, esi
call fcn.00437ce0
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 0x10