Function at 0x408ce0
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, eax
push esi
push ebx
mov ebx, edx
lea edx, [ebp - 0x18c]
mov eax, ebx
sub esp, 0x1bc
mov dword [ebp - 0x19c], ecx
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x18c], 0xffffffff
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0
call fcn.00402240
test eax, eax
je 0x408e80
mov eax, dword [ebp - 0x18c]
movzx edx, byte [section..data]
cmp eax, 0x19
ja 0x408ea0
mov ecx, 0x2410800
bt ecx, eax
jae 0x408ea0
and edx, 8
jne 0x409160
mov eax, dword [edi]
lea edx, [ebp - 0x188]
mov dword [esp], edi
mov dword [esp + 4], edx
call dword [eax + 0x10]
sub esp, 8
test eax, eax
js 0x408ea9
test byte [section..data], 8
jne 0x4092b0
mov eax, dword [edi]
lea edx, [ebp - 0x180]
mov dword [esp], edi
mov dword [ebp - 0x178], 1
mov dword [ebp - 0x174], 9
mov dword [ebp - 0x170], 1
mov dword [ebp - 0x16c], 8
mov dword [esp + 8], edx
mov dword [esp + 4], 0x414e68
call dword [eax]
sub esp, 0xc
test eax, eax
js 0x409070
mov eax, dword [ebp - 0x180]
lea ecx, [ebp - 0x17c]
mov edx, dword [eax]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x413668
mov dword [esp], eax
call dword [edx + 0x10]
sub esp, 0x10
test eax, eax
js 0x408e67
mov eax, dword [ebp - 0x17c]
lea ecx, [ebp - 0x178]
lea edi, [ebp - 0x168]
mov edx, dword [eax]
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 0x10
test eax, eax
js 0x408e58
cmp word [ebp - 0x168], 0x1f
je 0x4094b0
mov dword [esp], edi
call sub.ole32.dll_PropVariantClear
lea eax, [ebp - 0x158]
push ecx
mov dword [esp], eax
call sub.ole32.dll_PropVariantClear
push esi
mov eax, dword [ebp - 0x17c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
push edx
mov eax, dword [ebp - 0x180]
xor esi, esi
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
push eax
jmp 0x409072
mov edi, 1
test byte [section..data], 4
jne 0x408f38
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
and edx, 4
jne 0x4098e0
mov edi, 1
xor esi, esi
mov eax, dword [ebp - 0x184]
test eax, eax
je 0x408ec6
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CloseHandle]
sub esp, 4
mov dword [esp + 8], esi
mov ebx, dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword fs:[0x18]
mov dword [esp + 4], 0
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19c], edx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp - 0x19c]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [edx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov eax, dword [ebp - 0x188]
sub esp, 0xc
mov dword [esp], eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, edi
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, ebx
shr eax, 0x10
je 0x409468
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, str._invalid_
sub esp, 8
test eax, eax
jne 0x40947d
cmp word [ebx], 0
je 0x409a82
nop
mov edx, eax
lea eax, [eax + 1]
cmp word [ebx + edx*2 + 2], 0
jne 0x408f70
mov esi, 0x224c
lea edi, [ebp - 0x22]
mov word [ebp - 0x144], si
lea esi, [ebp - 0x142]
jmp 0x408fd5
cmp ax, 9
je 0x409838
cmp ax, 0xa
jne 0x4097ce
mov eax, 0x6e5c
add esi, 2
mov word [esi - 2], ax
lea esi, [esi]
nop
lea eax, [edx - 1]
test edx, edx
jle 0x409910
cmp esi, edi
ja 0x409910
mov edx, eax
movzx eax, word [ebx]
add ebx, 2
cmp ax, 0xd
je 0x409820
jbe 0x408f98
cmp ax, 0x22
je 0x409850
cmp ax, 0x5c
jne 0x4097c1
mov ecx, 0x5c5c
add esi, 2
mov word [esi - 2], cx
jmp 0x408fc0
mov byte [ecx], 0x22
mov ebx, dword [ebp - 0x1a0]
test eax, eax
jle 0x409ad5
mov edi, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], di
mov byte [eax], 0
lea eax, [ebp - 0x144]
mov dword [esp], eax
call fcn.0040b160
mov edx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.failed_to_extract_icon_from__s_n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40c000
mov dword [esp], 1
call fcn.004014e0
lea esi, [esi]
xor esi, esi
mov dword [esp + 0xc], str.winemenubuilder_semaphore
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_CreateSemaphoreA]
sub esp, 0x10
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x184]
mov dword [esp + 0x10], 0x1cff
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 1
call dword [sym.imp.user32.dll_MsgWaitForMultipleObjects]
sub esp, 0x14
test eax, eax
jne 0x4093a0
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x190]
cmp eax, 0x10
je 0x4093e0
cmp eax, 0x19
je 0x4093e0
mov dword [esp], ecx
mov eax, ebx
mov ecx, str.start.exe
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00403450
test eax, eax
sete al
movzx eax, al
xor eax, 1
mov dword [esp + 8], 0
mov edi, eax
mov eax, dword [ebp - 0x184]
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ReleaseSemaphore]
sub esp, 0xc
jmp 0x408eb0
mov esi, dword [ebp - 0x190]
test esi, esi
je 0x409958
mov eax, esi
shr eax, 0x10
je 0x409868
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, str._invalid_
sub esp, 8
test eax, eax
jne 0x409282
cmp word [esi], 0
je 0x409a12
lea esi, [esi]
mov edx, eax
lea eax, [eax + 1]
cmp word [esi + edx*2 + 2], 0
jne 0x4091a8
mov eax, 0x224c
mov dword [ebp - 0x1a4], edi
lea ecx, [ebp - 0x142]
mov word [ebp - 0x144], ax
lea eax, [ebp - 0x22]
mov dword [ebp - 0x1a8], ebx
mov dword [ebp - 0x1a0], eax
jmp 0x409211
cmp ax, 9
je 0x409678
cmp ax, 0xa
jne 0x409696
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea eax, [edx - 1]
cmp ecx, dword [ebp - 0x1a0]
ja 0x409248
test edx, edx
jle 0x409248
mov edx, eax
movzx eax, word [esi]
add esi, 2
cmp ax, 0xd
je 0x409708
jbe 0x4091e0
cmp ax, 0x22
je 0x4096f0
cmp ax, 0x5c
jne 0x409689
mov ebx, 0x5c5c
add ecx, 2
mov word [ecx - 2], bx
jmp 0x409200
mov edi, dword [ebp - 0x1a4]
mov ebx, dword [ebp - 0x1a8]
mov byte [ecx], 0x22
test eax, eax
jle 0x409a2b
mov edx, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], dx
mov byte [eax], 0
lea eax, [ebp - 0x144]
mov dword [esp], eax
call fcn.0040b160
mov edx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.Link_______:__s_n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40c000
mov dword [esp], 3
call fcn.004014e0
jmp 0x408d5c
mov esi, dword [ebp - 0x188]
test esi, esi
je 0x409a38
mov eax, esi
shr eax, 0x10
je 0x409420
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, str._invalid_
sub esp, 8
test eax, eax
jne 0x409435
cmp word [esi], 0
je 0x409a42
lea esi, [esi]
mov edx, eax
lea eax, [eax + 1]
cmp word [esi + edx*2 + 2], 0
jne 0x4092f8
mov eax, 0x224c
mov dword [ebp - 0x1a0], edi
lea ecx, [ebp - 0x142]
mov word [ebp - 0x144], ax
mov dword [ebp - 0x1a4], ebx
jmp 0x409368
cmp ax, 9
je 0x409720
cmp ax, 0xa
jne 0x409756
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea esi, [esi]
nop
lea eax, [edx - 1]
test edx, edx
jle 0x409898
lea ebx, [ebp - 0x22]
cmp ecx, ebx
ja 0x409898
mov edx, eax
movzx eax, word [esi]
add esi, 2
cmp ax, 0xd
je 0x409738
jbe 0x409328
cmp ax, 0x22
je 0x4097b0
cmp ax, 0x5c
jne 0x409749
mov edi, 0x5c5c
add ecx, 2
mov word [ecx - 2], di
jmp 0x409350
mov edi, 1
test byte [section..data], 2
je 0x408eb0
mov dword [esp + 0xc], str.failed_wait_for_semaphore_n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40c000
mov dword [esp], 1
call fcn.004014e0
jmp 0x408eb0
mov dword [esp + 4], ecx
xor eax, eax
mov ecx, edx
xor edx, edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], str.start.exe
call fcn.00402b20
test eax, eax
sete al
movzx eax, al
jmp 0x409131
movzx esi, si
mov dword [esp], str._04x
mov dword [esp + 4], esi
call fcn.00401420
mov edx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.path_______:__s_n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40c000
mov dword [esp], 3
call fcn.004014e0
jmp 0x408d86
movzx ebx, bx
mov dword [esp], str._04x
mov dword [esp + 4], ebx
call fcn.00401420
mov edx, eax
mov dword [esp + 0x10], edx
mov edi, 1
mov dword [esp + 0xc], str.Unknown_link_location__s._Ignoring._n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40c000
mov dword [esp], 2
call fcn.004014e0
jmp 0x408e92
mov eax, dword [ebp - 0x160]
test eax, eax
je 0x408e40
cmp word [eax], 0
je 0x408e40
movsx edx, word [ebp - 0x150]
mov ecx, dword [ebp - 0x19c]
call fcn.00405f20
mov esi, eax
test byte [section..data], 8
jne 0x409add
mov dword [esp], edi
test esi, esi
sete byte [ebp - 0x1a0]
call sub.ole32.dll_PropVariantClear
lea eax, [ebp - 0x158]
sub esp, 4
mov dword [esp], eax
call sub.ole32.dll_PropVariantClear
mov eax, dword [ebp - 0x17c]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x180]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
cmp byte [ebp - 0x1a0], 0
je 0x409072
mov edx, dword [ebp - 0x19c]
movzx eax, byte [section..data]
test edx, edx
jne 0x409640
test al, 2
je 0x409070
mov esi, dword [ebp - 0x160]
test esi, esi
je 0x409ab2
mov eax, esi
shr eax, 0x10
je 0x409a68
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, str._invalid_
sub esp, 8
test eax, eax
jne 0x409044
cmp word [esi], 0
je 0x409abc
nop
mov edx, eax
lea eax, [eax + 1]
cmp word [esi + edx*2 + 2], 0
jne 0x4095a0
mov ecx, 0x224c
lea eax, [ebp - 0x22]
mov dword [ebp - 0x1a0], ebx
mov word [ebp - 0x144], cx
lea ecx, [ebp - 0x142]
mov dword [ebp - 0x19c], eax
jmp 0x409609
cmp ax, 9
je 0x4099f0
cmp ax, 0xa
jne 0x40996f
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea eax, [edx - 1]
cmp ecx, dword [ebp - 0x19c]
ja 0x409010
test edx, edx
jle 0x409010
mov edx, eax
movzx eax, word [esi]
add esi, 2
cmp ax, 0xd
je 0x4099d8
jbe 0x4095d0
cmp ax, 0x22
je 0x4099c0
cmp ax, 0x5c
jne 0x409962
mov eax, 0x5c5c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x4095f0
xor edi, edi
xor esi, esi
test al, 4
je 0x408eb0
mov dword [esp + 0xc], str.Unable_to_extract_icon__deferring._n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40c000
mov dword [esp], 2
call fcn.004014e0
jmp 0x408eb0
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x409200
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x409888
mov edi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdefxmalloc]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefxmalloc]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdefxmalloc]
and edi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefxmalloc]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x409200
mov edi, 0x225c
add ecx, 2
mov word [ecx - 2], di
jmp 0x409200
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x409200
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x409350
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x409350
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x409948
mov edi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdefxmalloc]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefxmalloc]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdefxmalloc]
and edi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefxmalloc]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x409350
mov eax, 0x225c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x409350
lea ecx, [eax - 0x20]
cmp cx, 0x5e
jbe 0x409a08
mov ecx, eax
mov byte [esi], 0x5c
add esi, 5
shr cx, 0xc
movzx ecx, cx
movzx ecx, byte [ecx + str.0123456789abcdefxmalloc]
mov byte [esi - 4], cl
mov ecx, eax
shr cx, 8
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefxmalloc]
mov byte [esi - 3], cl
mov ecx, eax
and eax, 0xf
shr cx, 4
movzx eax, byte [eax + str.0123456789abcdefxmalloc]
and ecx, 0xf
movzx ecx, byte [ecx + str.0123456789abcdefxmalloc]
mov byte [esi - 1], al
mov byte [esi - 2], cl
jmp 0x408fc0
mov eax, 0x725c
add esi, 2
mov word [esi - 2], ax
jmp 0x408fc0
mov eax, 0x745c
add esi, 2
mov word [esi - 2], ax
jmp 0x408fc0
mov eax, 0x225c
add esi, 2
mov word [esi - 2], ax
jmp 0x408fc0
movzx esi, si
mov dword [esp], str._04x
mov dword [esp + 4], esi
call fcn.00401420
mov edx, eax
jmp 0x409282
mov byte [ecx], al
add ecx, 1
jmp 0x409200
mov edi, dword [ebp - 0x1a0]
mov ebx, dword [ebp - 0x1a4]
mov byte [ecx], 0x22
test eax, eax
jle 0x409a5b
mov esi, 0x2e2e
mov byte [ecx + 3], 0x2e
lea eax, [ecx + 4]
mov word [ecx + 1], si
mov byte [eax], 0
lea eax, [ebp - 0x144]
mov dword [esp], eax
call fcn.0040b160
mov edx, eax
jmp 0x409435
mov dword [esp + 0xc], str.Not_under_desktop_or_start_menu._Ignoring._n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40c000
mov dword [esp], 2
call fcn.004014e0
jmp 0x408ea9
mov byte [esi], 0x22
test eax, eax
jle 0x409a9b
mov edx, 0x2e2e
mov byte [esi + 3], 0x2e
lea eax, [esi + 4]
mov word [esi + 1], dx
mov byte [eax], 0
lea eax, [ebp - 0x144]
mov dword [esp], eax
call fcn.0040b160
mov edx, eax
jmp 0x40947d
mov byte [ecx], al
add ecx, 1
jmp 0x409350
mov edx, str._null_
jmp 0x409282
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x409aa8
mov edi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdefxmalloc]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdefxmalloc]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdefxmalloc]
and edi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdefxmalloc]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x4095f0
mov eax, 0x225c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x4095f0
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x4095f0
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x4095f0
mov byte [esi], al
add esi, 1
jmp 0x408fc0
mov eax, 0x224c
mov byte [ebp - 0x142], 0x22
lea ecx, [ebp - 0x142]
mov word [ebp - 0x144], ax
lea eax, [ecx + 1]
jmp 0x40926f
mov edx, str._null_
jmp 0x409435
mov eax, 0x224c
mov byte [ebp - 0x142], 0x22
lea ecx, [ebp - 0x142]
mov word [ebp - 0x144], ax
lea eax, [ecx + 1]
jmp 0x4098bf
movzx esi, si
mov dword [esp], str._04x
mov dword [esp + 4], esi
call fcn.00401420
mov edx, eax
jmp 0x409044
mov ebx, 0x224c
mov byte [ebp - 0x142], 0x22
lea esi, [ebp - 0x142]
mov word [ebp - 0x144], bx
lea eax, [esi + 1]
jmp 0x40992b
mov byte [ecx], al
add ecx, 1
jmp 0x4095f0
mov edx, str._null_
jmp 0x409044
mov eax, 0x224c
mov byte [ebp - 0x142], 0x22
lea ecx, [ebp - 0x142]
mov word [ebp - 0x144], ax
lea eax, [ecx + 1]
jmp 0x409031
test eax, eax
je 0x409bde
shr eax, 0x10
je 0x409bab
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
push edx
push edx
test eax, eax
jne 0x409c01
mov eax, esi
call fcn.00401240
mov dword [ebp - 0x1a0], eax
movsx eax, word [ebp - 0x150]
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x1a4], eax
test edx, edx
je 0x409bf7
mov eax, edx
shr eax, 0x10
je 0x409bc9
mov dword [esp + 4], 0xffffffff
mov dword [esp], edx
mov dword [ebp - 0x1a8], edx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
push ecx
push ecx
test eax, eax
jne 0x409bed
mov edx, dword [ebp - 0x1a8]
mov eax, edx
call fcn.00401240
mov ecx, dword [ebp - 0x1a0]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.URL_icon_path:__s_icon_index:__d_icon_name:__s_n
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp - 0x1a4]
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 0x14], ecx
mov dword [esp + 4], 0x40c000
mov dword [esp], 3
call fcn.004014e0
jmp 0x4094e9
movzx eax, si
mov dword [esp], str._04x
mov dword [esp + 4], eax
call fcn.00401420
mov dword [ebp - 0x1a0], eax
jmp 0x409b16
movzx edx, dx
mov dword [esp], str._04x
mov dword [esp + 4], edx
call fcn.00401420
jmp 0x409b6a
mov dword [ebp - 0x1a0], str._null_
jmp 0x409b16
mov eax, str._invalid_
jmp 0x409b6a
mov eax, str._null_
jmp 0x409b6a
mov dword [ebp - 0x1a0], str._invalid_
jmp 0x409b16