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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1954
call fcn.00516520
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
cmp byte [eax + 0x883], bl
push esi
push edi
jne 0x4276eb
xor al, al
jmp 0x42809b
push str.template
add eax, 4
lea esi, [esp + 0x74]
call fcn.0044e733
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x4276e4
push str.type
call fcn.0044e642
mov ecx, eax
call fcn.0044e5f8
push eax
call fcn.005089de
cmp eax, 3
mov eax, dword [ebp + 0xc]
pop ecx
push dword [eax + 0x2d]
sete byte [esp + 0x17]
cmp byte [eax + 8], bl
mov byte [esp + 0x44], bl
lea edi, [esp + 0x9a4]
je 0x42776a
push 0xd
call fcn.00426038
mov eax, edi
push eax
call fcn.004ac905
cmp byte [ebp + 0x10], bl
mov dword [esp + 0x14], 0x780
jne 0x427763
mov al, byte [esp + 0x1519]
mov byte [esp + 0x40], al
jmp 0x4277b0
mov byte [esp + 0x40], 1
jmp 0x4277b0
push 7
call fcn.00426038
lea eax, [esp + 0x9a0]
push eax
call fcn.004ac905
cmp byte [esp + 0x12eb], bl
mov al, byte [esp + 0x12e4]
je 0x42779e
neg al
sbb eax, eax
and eax, 0xab
add eax, 0x355
jmp 0x4277ac
neg al
sbb eax, eax
and eax, 0x80
add eax, 0x280
mov dword [esp + 0x14], eax
cmp byte [esp + 0x13], bl
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x84], ebx
je 0x427916
lea edi, [esp + 0x98]
call fcn.00426caf
mov eax, dword [ebp + 0xc]
mov al, byte [eax + 8]
push str.MS_Shell_Dlg_2
push 0x20
push ebx
push ebx
push ebx
push 1
push ebx
push ebx
neg al
push ebx
push 0x190
push ebx
push ebx
push ebx
mov dword [esp + 0x84], ebx
sbb eax, eax
and eax, 0x96
add eax, 0x32
push eax
call dword [0x5220d0]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x4c]
push eax
lea esi, [esp + 0x68]
call fcn.00469d3b
push dword [esp + 0x4c]
mov edi, dword [0x5220e8]
call edi
mov eax, esi
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.00426d19
mov esi, dword [esp + 0x175]
push str.Next
call fcn.00423498
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
push ecx
push ecx
fstp qword [esp]
call fcn.005088b0
pop ecx
pop ecx
call fcn.0051e610
mov esi, dword [esp + 0x175]
push str.Previous
mov dword [esp + 0x34], eax
call fcn.00423498
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
push ecx
push ecx
fstp qword [esp]
call fcn.005088b0
pop ecx
pop ecx
call fcn.0051e610
cmp dword [esp + 0x30], eax
jle 0x4278a0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xc]
mov al, byte [eax + 8]
neg al
push dword [esp + 0x64]
sbb eax, eax
and eax, 0x32
add eax, 0x32
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x18]
imul eax, eax, 3
cdq
and edx, 3
add eax, edx
sar eax, 2
sar ecx, 1
sub eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x18]
cdq
and edx, 3
add eax, edx
sar eax, 2
sub eax, ecx
mov dword [esp + 0x30], eax
call edi
lea eax, [esp + 0x111]
call fcn.00424d48
lea eax, [esp + 0xd0]
call fcn.004568a8
push dword [esp + 0x98]
call edi
mov eax, dword [esp + 0x70]
push str.menu
lea esi, [esp + 0x48]
call fcn.0044e733
jmp 0x42808f
mov edi, dword [ebp + 8]
mov esi, str.root
push esi
push 0x53a058
push dword [esp + 0x4c]
mov dword [edi + 0x884], ebx
call fcn.00404dcf
push esi
push eax
mov dword [esp + 0x5c], eax
call fcn.0051e253
test eax, eax
pop ecx
pop ecx
jne 0x427965
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x427978
push dword [esp + 0x54]
call fcn.005089de
pop ecx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push eax
call dword [edx + 8]
push 0x54f6a8
push 0x54f6ac
push dword [esp + 0x4c]
mov dword [esp + 0x8c], eax
call fcn.00404dcf
mov esi, eax
push esi
call fcn.005089de
cmp byte [esp + 0x17], bl
pop ecx
mov dword [edi + 0x42d], eax
je 0x4279b4
push esi
call fcn.005089de
pop ecx
mov dword [esp + 0x58], eax
jmp 0x4279bc
mov dword [esp + 0x58], 0x63
cmp byte [esp + 0x13], bl
je 0x4279d3
mov ecx, dword [ebp + 0xc]
call fcn.004058c1
dec eax
cdq
idiv dword [esp + 0x58]
inc eax
jmp 0x4279d6
xor eax, eax
inc eax
cmp eax, ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x1c], ebx
jle 0x428086
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx]
mov edi, dword [ebp + 0xc]
call dword [eax + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x44]
push str.background
lea esi, [esp + 0x68]
call fcn.0044e733
cmp dword [esp + 0x64], ebx
je 0x427c37
push str.stretch
push str.aspectratiomode
push dword [esp + 0x6c]
mov dword [esp + 0x24], ebx
call fcn.00404dcf
mov esi, eax
cmp word [esi], bx
je 0x427a9d
push 0x54f884
push esi
call fcn.0051e253
test eax, eax
pop ecx
pop ecx
jne 0x427a4e
mov dword [esp + 0x18], ebx
jmp 0x427a9d
push str.crop
push esi
call fcn.0051e253
test eax, eax
pop ecx
pop ecx
jne 0x427a69
mov dword [esp + 0x18], 1
jmp 0x427a9d
push str.letterbox
push esi
call fcn.0051e253
test eax, eax
pop ecx
pop ecx
jne 0x427a84
mov dword [esp + 0x18], 2
jmp 0x427a9d
push str.stretch
push esi
call fcn.0051e253
test eax, eax
pop ecx
pop ecx
jne 0x427a9d
mov dword [esp + 0x18], 3
push 0x526bb8
push str.file
push dword [esp + 0x6c]
call fcn.00404dcf
cmp word [eax], bx
mov dword [esp + 0x28], eax
je 0x4276e4
mov word [esp + 0x180], bx
cmp word [eax], 0x2e
jne 0x427ae1
mov ecx, dword [ebp + 8]
add ecx, 0x19
push ecx
lea ecx, [esp + 0x184]
push ecx
call fcn.00445242
jmp 0x427af6
mov edx, dword [esp + 0x28]
push 0x104
lea esi, [esp + 0x184]
call fcn.00446416
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x6fc], ecx
add eax, 0x6bb
push eax
lea edx, [esp + 0x184]
call fcn.00455ebd
test eax, eax
je 0x4276e4
mov eax, dword [esp + 0x70]
push str.name
call fcn.0044e642
mov ecx, eax
call fcn.0044e5f8
mov ecx, str.Current
call fcn.00401031
test eax, eax
je 0x427c37
push str.templates.current
lea esi, [esp + 0x594]
mov word [esp + 0x594], bx
call fcn.00444ee8
push ebx
mov eax, esi
push eax
call dword [0x522364]
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x798]
mov word [esp + 0x388], bx
call fcn.00401808
mov eax, esi
push eax
lea eax, [esp + 0x38c]
push eax
lea eax, [esp + 0x7a0]
call fcn.00445242
lea eax, [esp + 0x388]
push eax
call dword [0x522358]
push ebx
lea eax, [esp + 0x38c]
push eax
lea eax, [esp + 0x188]
push eax
call dword [0x52231c]
mov eax, dword [esp + 0x70]
push str.icon
call fcn.0044e642
test eax, eax
je 0x427c37
mov eax, dword [esp + 0x70]
push str.icon
call fcn.0044e642
mov ecx, eax
call fcn.0044e5f8
mov esi, eax
mov eax, dword [ebp + 8]
add eax, 0x19
push eax
lea eax, [esp + 0x184]
push eax
mov eax, esi
call fcn.00445242
lea eax, [esp + 0x590]
push eax
lea eax, [esp + 0x38c]
push eax
mov eax, esi
call fcn.00445242
lea eax, [esp + 0x388]
push eax
call dword [0x522358]
push ebx
lea eax, [esp + 0x38c]
push eax
lea eax, [esp + 0x188]
push eax
call dword [0x52231c]
push str.root
push dword [esp + 0x58]
call fcn.0051e253
test eax, eax
pop ecx
pop ecx
jne 0x427c50
mov dword [edi + 0x11], ebx
jmp 0x427c5d
push dword [esp + 0x54]
call fcn.005089de
pop ecx
mov dword [edi + 0x11], eax
mov eax, dword [esp + 0x44]
mov dword [edi + 0x1d], ebx
mov dword [edi + 0x15], 1
push str.text
lea esi, [esp + 0x7c]
mov dword [edi + 0x19], ebx
call fcn.0044e733
jmp 0x427d2b
push 0x476
call fcn.004463ae
cmp eax, ebx
pop ecx
je 0x427c9b
mov edi, eax
call fcn.0040573c
mov esi, eax
jmp 0x427c9d
xor esi, esi
mov edi, dword [ebp + 8]
push 1
push 1
push 0x526bb8
push dword [esp + 0x20]
push esi
push dword [esp + 0x8c]
push edi
call fcn.00426f97
mov eax, dword [esi + 0x55]
add eax, dword [esi + 0x4d]
mov edx, dword [esp + 0x24]
mov ecx, esi
add edx, 0x4ab
mov dword [edi + 0x884], eax
call fcn.004e5aa7
push 0x476
call fcn.004463ae
cmp eax, ebx
pop ecx
je 0x427cf2
mov edi, eax
call fcn.0040573c
mov esi, eax
jmp 0x427cf4
xor esi, esi
push 1
push 1
push 0x526bb8
push dword [esp + 0x20]
push esi
push dword [esp + 0x8c]
push dword [ebp + 8]
call fcn.00426f97
mov edx, dword [esp + 0x24]
mov ecx, esi
add edx, 0x4af
call fcn.004e5aa7
lea esi, [esp + 0x78]
call fcn.0044e76e
cmp dword [esp + 0x78], ebx
jne 0x427c81
mov eax, dword [esp + 0x44]
push 1
push dword [esp + 0x44]
push 0x526bb8
push ebx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [ebp + 8]
call fcn.004274f0
mov eax, dword [esp + 0x44]
push 0x53a058
lea esi, [esp + 0x60]
call fcn.0044e733
jmp 0x427fb2
mov eax, dword [esp + 0x5c]
push str.text
lea esi, [esp + 0x94]
mov byte [esp + 0x70], 1
call fcn.0044e733
mov ecx, dword [ebp + 0xc]
call fcn.004058c1
cmp dword [esp + 0x38], eax
mov dword [esp + 0x8c], eax
jge 0x427fa9
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x38]
inc eax
imul eax, dword [esp + 0x58]
inc edi
mov dword [esp + 0x88], eax
mov dword [esp + 0x28], edi
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x884]
mov dword [esp + 0x20], eax
lea eax, [edi - 1]
cmp eax, dword [esp + 0x88]
jge 0x427ef1
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 8]
add eax, 8
cmp word [eax], bx
jne 0x427dee
mov eax, dword [esi + 0x25]
jmp 0x427df9
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 8]
add eax, 8
push dword [esp + 0x6c]
push dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x68]
push edi
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [ebp + 8]
call fcn.004274f0
mov eax, dword [esp + 0x5c]
inc dword [esp + 0x38]
push str.text
lea esi, [esp + 0x50]
mov byte [esp + 0x70], bl
call fcn.0044e733
cmp dword [esp + 0x4c], ebx
je 0x427ed7
push 0x476
call fcn.004463ae
cmp eax, ebx
pop ecx
je 0x427e57
mov edi, eax
call fcn.0040573c
mov dword [esp + 0x18], eax
jmp 0x427e5b
mov dword [esp + 0x18], ebx
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x20]
mov edi, dword [esi + 0x884]
mov ecx, dword [ebp + 0xc]
push dword [esp + 0x28]
mov dword [esi + 0x884], eax
mov eax, dword [ecx]
call dword [eax + 8]
push 1
push 1
add eax, 8
push eax
push dword [esp + 0x20]
push dword [esp + 0x28]
push dword [esp + 0x60]
push esi
call fcn.00426f97
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [esi + 0x884], edi
mov eax, dword [ecx + 0x55]
add eax, edx
cmp eax, edi
jle 0x427eb1
mov dword [esi + 0x884], eax
mov edx, dword [esp + 0x24]
add edx, 0x4ab
call fcn.004e5aa7
lea esi, [esp + 0x4c]
call fcn.0044e76e
cmp dword [esp + 0x4c], ebx
jne 0x427e3b
mov edi, dword [esp + 0x28]
inc edi
lea eax, [edi - 1]
cmp eax, dword [esp + 0x8c]
mov dword [esp + 0x28], edi
jl 0x427db9
jmp 0x427fa9
mov eax, dword [esp + 0x3c]
dec eax
cmp dword [esp + 0x1c], eax
jge 0x427fa9
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x884]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
push ebx
push str.Next
push dword [esp + 0x38]
push dword [esp + 0x40]
push eax
push dword [esp + 0x98]
call dword [edx + 0xc]
mov ecx, dword [esp + 0x1c]
mov esi, eax
lea eax, [esi + 0x487]
mov dword [eax + 4], 1
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
add ecx, 2
mov dword [eax + 8], ecx
mov edi, dword [edi + 0x888]
lea eax, [esp + 0x12]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x19]
push eax
mov dword [esp + 0x2c], esi
mov byte [esp + 0x1d], bl
mov byte [esp + 0x1c], bl
mov byte [esp + 0x1e], bl
call fcn.0041fd37
movzx ecx, byte [esp + 0x11]
xor eax, eax
mov ah, byte [esp + 0x12]
mov al, byte [esp + 0x10]
shl eax, 8
or eax, ecx
mov dword [esi + 0x59], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax + 8], bl
je 0x427fa9
push 0x40
add esi, 0x5d
pop edi
call fcn.00469dd9
mov eax, dword [esp + 0x20]
mov dword [eax + 0x49f], 1
lea esi, [esp + 0x5c]
call fcn.0044e76e
cmp dword [esp + 0x5c], ebx
jne 0x427d6c
cmp dword [esp + 0x1c], ebx
je 0x428074
cmp dword [esp + 0x3c], 1
jle 0x428074
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x884]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
push ebx
push str.Previous
push dword [esp + 0x38]
push dword [esp + 0x40]
push eax
push dword [esp + 0x40]
call dword [edx + 0xc]
mov ecx, dword [esp + 0x1c]
mov esi, eax
lea eax, [esi + 0x487]
mov dword [eax + 4], 1
mov dword [eax + 0xc], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0x10], ebx
mov edi, dword [edi + 0x888]
lea eax, [esp + 0x11]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x1a]
push eax
mov dword [esp + 0x2c], esi
mov byte [esp + 0x1e], bl
mov byte [esp + 0x1c], bl
mov byte [esp + 0x1d], bl
call fcn.0041fd37
movzx ecx, byte [esp + 0x12]
xor eax, eax
mov ah, byte [esp + 0x11]
mov al, byte [esp + 0x10]
shl eax, 8
or eax, ecx
mov dword [esi + 0x59], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax + 8], bl
je 0x428074
push 0x40
add esi, 0x5d
pop edi
call fcn.00469dd9
mov eax, dword [esp + 0x20]
mov dword [eax + 0x49f], 2
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x3c]
jl 0x4279ea
lea esi, [esp + 0x44]
call fcn.0044e76e
cmp dword [esp + 0x44], ebx
jne 0x42792d
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc