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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x46f483
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x491fb4]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
push esi
lea eax, [edi + 0x28]
call fcn.0041f726
mov dword [esp + 0x14], eax
test eax, eax
jne 0x428a2d
lea ecx, [esp + 0x5c]
call fcn.00403e01
and dword [esp + 0x80], 0
lea eax, [esp + 0x1c]
push eax
mov byte [esp + 0x17], 0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [esi - 1]
mov byte [esp + 0x80], 1
cmp eax, 0xd
ja case.default.0x42868c
movzx eax, byte [eax + 0x428a5e]
mov ebx, dword [ebp + 0x1c]
jmp dword [eax*4 + 0x428a42]
mov ecx, dword [edi + 0x88]
mov eax, dword [ecx]
call dword [eax + 0x10]
test eax, eax
je 0x4289e7
push 2
push eax
call dword [sym.imp.USER32.dll_EndDialog]
test eax, eax
jne 0x4289e7
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [edi + 0xc]
call fcn.0040b120
mov eax, dword [eax + 0x10]
mov dword [esp + 0x14], eax
jmp 0x4289cc
test ebx, ebx
je case.0x42868c.1
cmp dword [ebx + 8], 1
jne 0x428713
push dword [ebx]
lea ecx, [esp + 0x40]
call fcn.0041c7c0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x60]
mov byte [esp + 0x84], 2
call fcn.004205eb
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0x84], 1
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp dword [ebx + 8], 2
jne case.0x42868c.1
mov eax, dword [ebx]
add eax, 0x10
push eax
lea ecx, [esp + 0x30]
call fcn.0041c7c0
mov byte [esp + 0x80], 3
push dword [ebx]
lea ecx, [esp + 0x40]
call fcn.0041c7c0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x60]
mov byte [esp + 0x84], 4
call fcn.004205eb
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x60]
call fcn.004205eb
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0x3c]
push eax
call esi
lea eax, [esp + 0x2c]
push eax
mov byte [esp + 0x84], 1
call esi
jmp case.0x42868c.1
test ebx, ebx
jne 0x4287b1
mov esi, 0x8002000f
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [esp + 0x5c]
call fcn.0041c5c9
push dword [esp + 0x5c]
call fcn.004578f9
mov eax, esi
jmp 0x428a2c
cmp dword [ebx + 8], 2
je 0x4287be
mov esi, 0x8002000e
jmp 0x42878d
mov eax, dword [ebx]
add eax, 0x10
push eax
lea ecx, [esp + 0x40]
call fcn.0041c7c0
mov byte [esp + 0x80], 5
push dword [ebx]
lea ecx, [esp + 0x30]
call fcn.0041c7c0
push 3
pop eax
mov byte [esp + 0x80], 6
cmp ax, word [esp + 0x3c]
je 0x42881a
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x4287fc
and dword [eax], 0
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0x2c]
push eax
call esi
lea eax, [esp + 0x3c]
push eax
call esi
mov esi, 0x80020008
jmp 0x42878d
push 3
pop eax
cmp ax, word [esp + 0x2c]
je 0x428833
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x4287fc
mov dword [eax], 1
jmp 0x4287fc
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x60]
call fcn.004205eb
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x60]
call fcn.004205eb
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0x2c]
push eax
call esi
lea eax, [esp + 0x3c]
jmp 0x428774
test ebx, ebx
je 0x428788
cmp dword [ebx + 8], 1
jne 0x4287b7
push dword [ebx]
lea ecx, [esp + 0x50]
call fcn.0041c7c0
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x60]
mov byte [esp + 0x84], 7
call fcn.004205eb
lea eax, [esp + 0x4c]
push eax
mov byte [esp + 0x84], 1
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp case.0x42868c.1
cmp dword [ebp + 0x20], 0
jne 0x4288cd
mov eax, dword [ebp + 0x24]
lea esi, [esp + 0x18]
mov dword [esp + 0x18], eax
call fcn.0041ffb8
mov esi, eax
jmp 0x42878d
mov ecx, dword [edi + 0x88]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov dword [esp + 0x18], eax
cmp esi, 9
jne 0x428917
call dword [sym.imp.USER32.dll_GetFocus]
mov esi, dword [sym.imp.USER32.dll_GetParent]
mov edi, eax
push edi
jmp 0x4288f5
mov edi, eax
push eax
call esi
test eax, eax
jne 0x4288f2
cmp dword [esp + 0x18], edi
lea esi, [esp + 0x1c]
sete al
movzx eax, al
push eax
call fcn.0042499e
mov edi, dword [ebp + 8]
jmp 0x4289b8
cmp esi, 0xb
jne 0x428953
and dword [esp + 0x3c], 0
xor eax, eax
cmp dword [esp + 0x18], 0
lea edi, [esp + 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
je 0x428940
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x3c]
lea esi, [esp + 0x1c]
call fcn.0041c7e5
jmp 0x42890f
cmp esi, 0xc
jne 0x4289b8
and dword [esp + 0x3c], 0
xor eax, eax
cmp dword [esp + 0x18], 0
lea edi, [esp + 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
je 0x42897c
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x40]
jmp 0x428948
cmp dword [ebp + 0x20], 0
je 0x4288b6
mov byte [esp + 0x13], 1
mov ecx, dword [edi + 0x88]
mov eax, dword [ecx]
lea edx, [esp + 0x1c]
push edx
lea edx, [esp + 0x60]
push edx
push dword [ebp + 0xc]
call dword [eax + 0x14]
cmp byte [esp + 0x13], 0
mov dword [esp + 0x14], eax
je 0x4289cc
cmp dword [ebp + 0x20], 0
je 0x4289cc
lea eax, [esp + 0x1c]
push eax
push dword [ebp + 0x20]
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp dword [esp + 0x14], 0
je 0x4289e7
push dword [ebp + 0xc]
mov ecx, ebx
push dword [esp + 0x18]
push edi
call fcn.0041fe08
and dword [esp + 0x14], 0
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [esp + 0x5c]
call fcn.0041c5c9
push dword [esp + 0x5c]
call fcn.004578f9
mov eax, dword [esp + 0x18]
jmp 0x428a2c
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [esp + 0x5c]
call fcn.0041c5c9
push dword [esp + 0x5c]
call fcn.004578f9
mov eax, 0x80020003
pop ecx
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
or al, 0x8b
dec eax
push 0xd38bc3d3
add byte [eax], ch
insd dword es:[edi], dx
add byte [ebx], ch
outsb dx, byte [esi]
add byte [edi], ch
xor eax, 0x4100
add byte [eax], al
add byte [ebp], ch
add byte fs:[edi], bl
push esp
add byte [ebp], dl
add byte ss:[eax], bl
aaa
add byte [ebx], cl
jb 0x478e6c
add byte [eax], al
add byte [eax], al
push edi
add byte [eax], ch
insb byte es:[edi], dx
add byte [eax], dh
inc ebx
add byte [edi], dl
je 0x478e7e
js 0x478e80
xor dword [eax], eax
push edi
add byte [ecx], bh
add byte [eax + eax + 0x75], dh
add byte [eax + eax + 0x42], dh
add byte [ebp], ah
push edx
add byte [esi], ah
jbe 0x478e96
inc edi
add byte [ecx], dh
dec ebp
add byte [esi], al
jne 0x478ea0
popal
add byte [ecx], bl
cmp byte [eax], al
push ebp
add byte [edi], dh
add byte [eax + eax + 0x68], ah
add byte [ecx], ah
insd dword es:[edi], dx
add byte [esi], ch
insd dword es:[edi], dx
add byte [ecx], ch
xor dword [eax], eax
dec esp
add byte [eax], ch
push 0
add byte [eax], al
add byte [eax], al
add byte [ecx], bh
jns 0x478eca
xor byte [eax], al
dec ebx
add byte [edi], ah
dec esi
add byte [ebx], cl
jno 0x478ed6
push 0
dec ebp
add byte [eax + eax + 0x44], cl
add byte [edx], ah
inc esp
add byte [esi], cl
imul eax, dword [eax], 0x63
add byte [ebx], cl
pop eax
add byte [ecx], dh
add byte [esi], ah
outsd dx, dword [esi]
add byte [eax + eax + 0x44], ch
add byte [esi], al
inc ebx
add byte [ebp], dl
ja 0x478efe
jae 0x478f00
push 0x43007500
add byte [ebp], dh
pop ecx
add byte [esi], dh
add byte [edi], al
jno 0x478f12
push ebx
add byte [ebx], dh
add byte [esi], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
adc byte [ecx + 0x2f], bl
mov dh, 0x28
rcl dword gs:[ecx]
xchg esi, eax
adc dword [eax], eax
add al, bh
push ds
or eax, 0x4c3de00d
cmp eax, 0x3c6f394c
rcl byte [ecx], cl
cmp dword [ebx], 0x7a794fc0
mov bh, 0xf5
and dword [ebp], eax
or al, 0x22
inc ebp
add byte [ecx], ch
and al, byte [ebp]
arpl word [edx], sp
inc ebp
add byte [edx + 0x22], bh
inc ebp
add byte [eax], dh
and eax, dword [ebp]
int3