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

Disassembly:
push 0xffffffffffffffff
push 0x472e6b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x42c
push ebx
mov ebx, dword [esp + 0x450]
push ebp
mov ebp, dword [esp + 0x458]
push esi
mov esi, dword [esp + 0x44c]
push edi
mov edi, ecx
test ebx, 0x40000000
mov dword [esp + 0x14], edi
je 0x422cdb
lea ecx, [esp + 0x74]
call fcn.004152e0
push ebp
lea ecx, [esp + 0x78]
mov dword [esp + 0x448], 0
call fcn.00415970
mov eax, dword [esp + 0x46c]
mov ecx, dword [esp + 0x468]
push eax
mov eax, dword [esp + 0x45c]
lea edx, [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x45c]
push edx
mov edx, dword [esp + 0x458]
push ebx
push eax
push ecx
push esi
push edx
mov ecx, edi
call fcn.00422f00
test eax, eax
jne 0x422cb6
push ebp
lea ecx, [esp + 0x78]
call fcn.00416510
lea ecx, [esp + 0x74]
mov dword [esp + 0x444], 0xffffffff
call fcn.00415380
mov eax, 1
jmp 0x422ee3
cmp eax, 1
mov dword [esp + 0x444], 0xffffffff
lea ecx, [esp + 0x74]
jne 0x422cd6
call fcn.00415380
xor eax, eax
jmp 0x422ee3
call fcn.00415380
test esi, esi
jne 0x422ce4
mov esi, 0x48a728
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
call edi
mov ax, word [esi + eax*2 - 2]
push esi
mov word [esp + 0x1c], ax
call edi
lea ecx, [eax + eax + 2]
push ecx
call fcn.00461d1b
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x10], edi
je 0x422ee3
push esi
push edi
call fcn.004621e6
add esp, 8
cmp word [edi], 0
je 0x422d43
mov ecx, edi
mov eax, edi
mov dx, word [esp + 0x18]
cmp word [ecx], dx
jne 0x422d38
mov word [eax], 0
add eax, 2
mov ecx, eax
cmp word [eax], 0
jne 0x422d29
mov ecx, 0x16
xor eax, eax
lea edi, [esp + 0x1c]
mov esi, dword [esp + 0x10]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x44c]
mov ecx, dword [esp + 0x464]
mov edx, dword [esp + 0x458]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x46c]
mov dword [esp + 0x28], esi
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x468]
test eax, eax
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x4c], edx
jne 0x422d9d
mov dword [esp + 0x34], 1
jmp 0x422da3
mov ecx, dword [eax]
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x2a8]
call fcn.00434430
and eax, 0xcf0
xor ecx, ecx
or eax, ecx
mov dword [esp + 0x1c], 0x4c
jne 0x422dca
mov dword [esp + 0x1c], 0x58
mov eax, dword [esp + 0x454]
cmp eax, 0x100
jae 0x422e0b
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xa0]
push edx
push eax
call fcn.004226a0
test eax, eax
jne 0x422dfe
push esi
call fcn.00461c32
add esp, 4
xor eax, eax
jmp 0x422ee3
lea eax, [esp + 0xa0]
mov dword [esp + 0x48], eax
jmp 0x422e56
jne 0x422e44
lea ecx, [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0x18]
push 0x10007
call fcn.004226a0
test eax, eax
jne 0x422e37
push esi
call fcn.00461c32
add esp, 4
xor eax, eax
jmp 0x422ee3
lea edx, [esp + 0xa0]
mov dword [esp + 0x48], edx
jmp 0x422e56
mov ecx, eax
sub ecx, 0x101
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [esp + 0x48], ecx
mov eax, ebx
and eax, 0x3fffffff
je 0x422e65
mov dword [esp + 0x50], eax
jmp 0x422e81
mov edx, ebx
and edx, 0x80000000
neg edx
sbb edx, edx
and edx, 0xfffff002
add edx, 0x10001804
mov dword [esp + 0x50], edx
mov ebp, dword [sym.imp.comdlg32.dll_GetSaveFileNameW]
mov edi, dword [sym.imp.comdlg32.dll_GetOpenFileNameW]
and ebx, 0x80000000
test ebx, ebx
je 0x422ea0
lea eax, [esp + 0x1c]
push eax
call ebp
jmp 0x422ea7
lea ecx, [esp + 0x1c]
push ecx
call edi
mov esi, eax
test esi, esi
jne 0x422ec3
call dword [sym.imp.comdlg32.dll_CommDlgExtendedError]
cmp eax, 0x3002
jne 0x422ec3
mov edx, dword [esp + 0x38]
mov word [edx], si
jmp 0x422e93
mov eax, dword [esp + 0x468]
test eax, eax
je 0x422ed4
mov ecx, dword [esp + 0x34]
mov dword [eax], ecx
mov edx, dword [esp + 0x10]
push edx
call fcn.00461c32
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x43c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x438
ret 0x24