Function at 0x409900
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, edx
push esi
lea edx, [ebp - 0x18c]
push ebx
mov ebx, eax
mov eax, edi
sub esp, 0x1cc
mov dword [ebp - 0x1a0], ecx
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x18c], 0xffffffff
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0
call fcn.00402b90
test eax, eax
je 0x409ac0
mov eax, dword [ebp - 0x18c]
mov esi, dword [ebp - 0x190]
cmp eax, 0x19
mov dword [ebp - 0x1a4], eax
movzx eax, byte [section..data]
mov dword [ebp - 0x19c], esi
ja 0x409ae0
mov esi, dword [ebp - 0x1a4]
mov edx, 0xfdbef7ff
bt edx, esi
jb 0x409ae0
test al, 8
jne 0x409da0
mov eax, dword [ebx]
lea edx, [ebp - 0x188]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x10]
sub esp, 8
test eax, eax
js 0x409ae8
test byte [section..data], 8
jne 0x409f00
mov eax, dword [ebx]
lea edx, [ebp - 0x180]
mov dword [esp], ebx
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], 0x416e78
call dword [eax]
sub esp, 0xc
test eax, eax
js 0x409cb0
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], 0x4156d8
mov dword [esp], eax
call dword [edx + 0x10]
sub esp, 0x10
test eax, eax
js 0x409aa4
mov eax, dword [ebp - 0x17c]
lea ecx, [ebp - 0x178]
lea esi, [ebp - 0x168]
mov edx, dword [eax]
mov dword [esp + 0xc], esi
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 0x409a95
cmp word [ebp - 0x168], 0x1f
je 0x40a108
lea eax, [ebp - 0x168]
mov dword [esp], eax
call sub.ole32.dll_PropVariantClear
lea eax, [ebp - 0x158]
push ecx
mov dword [esp], eax
call sub.ole32.dll_PropVariantClear
push ebx
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 ebx, ebx
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
push eax
jmp 0x409cb2
mov esi, 1
test byte [section..data], 4
jne 0x409b70
lea esp, [ebp - 0xc]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
test al, 4
jne 0x40a530
mov esi, 1
xor ebx, ebx
mov eax, dword [ebp - 0x184]
test eax, eax
je 0x409b05
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CloseHandle]
sub esp, 4
mov dword [esp + 8], ebx
mov ebx, dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 4], 0
mov edi, dword fs:[0x18]
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ebx
mov eax, dword [ebp - 0x19c]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [edi + 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 sub.ole32.dll_CoTaskMemFree
mov eax, esi
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, edi
shr eax, 0x10
je 0x40a0c0
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ebx, eax
sub esp, 8
mov eax, str._invalid_
test ebx, ebx
jne 0x40a0d3
movzx edx, word [edi]
test dx, dx
je 0x40a6d0
lea esi, [esi]
mov ecx, ebx
lea ebx, [ebx + 1]
cmp word [edi + ecx*2 + 2], 0
jne 0x409bb0
mov ebx, 0x224c
lea esi, [ebp - 0x22]
mov word [ebp - 0x144], bx
lea ebx, [ebp - 0x142]
jmp 0x409c18
cmp dx, 9
je 0x40a498
cmp dx, 0xa
jne 0x40a42e
mov eax, 0x6e5c
add ebx, 2
mov word [ebx - 2], ax
lea esi, [esi]
nop
lea eax, [ecx - 1]
test ecx, ecx
jle 0x40a560
cmp ebx, esi
ja 0x40a560
movzx edx, word [edi]
mov ecx, eax
add edi, 2
cmp dx, 0xd
je 0x40a480
jbe 0x409bd8
cmp dx, 0x22
je 0x40a4b0
cmp dx, 0x5c
jne 0x40a421
mov eax, 0x5c5c
add ebx, 2
mov word [ebx - 2], ax
jmp 0x409c00
mov byte [ecx], 0x22
mov edi, dword [ebp - 0x1a8]
test eax, eax
jle 0x40a725
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.0040dba0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.failed_to_extract_icon_from__s_n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40e000
mov dword [esp], 1
call fcn.00401480
lea esi, [esi]
xor ebx, ebx
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], 0x4ff
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 1
call sub.user32.dll_MsgWaitForMultipleObjects
sub esp, 0x14
test eax, eax
jne 0x409ff0
mov esi, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x188]
cmp esi, 0x10
je 0x40a030
cmp esi, 0x19
je 0x40a030
mov dword [esp], eax
mov edx, dword [ebp - 0x19c]
mov ecx, str.start.exe
mov eax, edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.004048b0
test eax, eax
sete al
movzx eax, al
xor eax, 1
mov dword [esp + 8], 0
mov esi, 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 0x409aef
mov eax, dword [ebp - 0x19c]
test eax, eax
je 0x40a5a8
shr eax, 0x10
je 0x40a4c8
mov esi, dword [ebp - 0x19c]
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ecx, eax
sub esp, 8
mov eax, str._invalid_
test ecx, ecx
jne 0x409ed0
cmp word [esi], 0
je 0x40a662
mov eax, esi
lea esi, [esi]
mov edx, ecx
lea ecx, [ecx + 1]
cmp word [eax + edx*2 + 2], 0
jne 0x409df0
mov eax, 0x224c
mov dword [ebp - 0x1ac], ebx
mov esi, dword [ebp - 0x19c]
lea ecx, [ebp - 0x142]
mov word [ebp - 0x144], ax
lea eax, [ebp - 0x22]
mov dword [ebp - 0x1b0], edi
mov dword [ebp - 0x1a8], eax
jmp 0x409e61
cmp ax, 9
je 0x40a2e0
cmp ax, 0xa
jne 0x40a2fe
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea eax, [edx - 1]
cmp ecx, dword [ebp - 0x1a8]
ja 0x409e98
test edx, edx
jle 0x409e98
mov edx, eax
movzx eax, word [esi]
add esi, 2
cmp ax, 0xd
je 0x40a368
jbe 0x409e30
cmp ax, 0x22
je 0x40a350
cmp ax, 0x5c
jne 0x40a2f1
mov ebx, 0x5c5c
add ecx, 2
mov word [ecx - 2], bx
jmp 0x409e50
mov ebx, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1b0]
mov byte [ecx], 0x22
test eax, eax
jle 0x40a67b
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.0040dba0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Link_______:__s_n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40e000
mov dword [esp], 3
call fcn.00401480
jmp 0x409993
mov esi, dword [ebp - 0x188]
test esi, esi
je 0x40a688
mov eax, esi
shr eax, 0x10
je 0x40a078
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ecx, eax
sub esp, 8
mov eax, str._invalid_
test ecx, ecx
jne 0x40a08b
cmp word [esi], 0
je 0x40a692
lea esi, [esi]
lea esi, [esi]
mov edx, ecx
lea ecx, [ecx + 1]
cmp word [esi + edx*2 + 2], 0
jne 0x409f50
mov eax, 0x224c
mov dword [ebp - 0x1a8], ebx
lea ecx, [ebp - 0x142]
mov word [ebp - 0x144], ax
jmp 0x409fb8
cmp ax, 9
je 0x40a380
cmp ax, 0xa
jne 0x40a3b6
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea eax, [edx - 1]
test edx, edx
jle 0x40a4f8
lea ebx, [ebp - 0x22]
cmp ecx, ebx
ja 0x40a4f8
mov edx, eax
movzx eax, word [esi]
add esi, 2
cmp ax, 0xd
je 0x40a398
jbe 0x409f80
cmp ax, 0x22
je 0x40a410
cmp ax, 0x5c
jne 0x40a3a9
mov ebx, 0x5c5c
add ecx, 2
mov word [ecx - 2], bx
jmp 0x409fa0
mov esi, 1
test byte [section..data], 2
je 0x409aef
mov dword [esp + 0xc], str.failed_wait_for_semaphore_n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40e000
mov dword [esp], 1
call fcn.00401480
jmp 0x409aef
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x19c]
xor edx, edx
xor eax, eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], str.start.exe
call fcn.00403460
test eax, eax
sete al
movzx eax, al
jmp 0x409d70
movzx esi, si
mov dword [esp], str._04x
mov dword [esp + 4], esi
call fcn.004019b0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.path_______:__s_n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40e000
mov dword [esp], 3
call fcn.00401480
jmp 0x4099bd
movzx eax, di
mov dword [esp], str._04x
mov dword [esp + 4], eax
call fcn.004019b0
mov dword [esp + 0x10], eax
mov esi, 1
mov dword [esp + 0xc], str.Unknown_link_location__s._Ignoring._n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40e000
mov dword [esp], 2
call fcn.00401480
jmp 0x409ad2
mov eax, dword [ebp - 0x160]
test eax, eax
je 0x409a77
cmp word [eax], 0
je 0x409a77
mov esi, dword [ebp - 0x1a0]
movsx edx, word [ebp - 0x150]
xor ecx, ecx
mov dword [esp], esi
call fcn.00406a40
mov ebx, eax
test byte [section..data], 8
jne 0x40a72d
test ebx, ebx
sete al
mov esi, eax
lea eax, [ebp - 0x168]
mov dword [esp], eax
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]
mov eax, esi
sub esp, 4
test al, al
je 0x409cb2
mov edx, dword [ebp - 0x1a0]
movzx eax, byte [section..data]
test edx, edx
jne 0x40a2a8
test al, 2
je 0x409cb0
mov ebx, dword [ebp - 0x160]
test ebx, ebx
je 0x40a702
mov eax, ebx
shr eax, 0x10
je 0x40a6b8
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ecx, eax
sub esp, 8
mov eax, str._invalid_
test ecx, ecx
jne 0x409c82
cmp word [ebx], 0
je 0x40a70c
nop
mov edx, ecx
lea ecx, [ecx + 1]
cmp word [ebx + edx*2 + 2], 0
jne 0x40a200
mov eax, 0x224c
mov dword [ebp - 0x1a0], ebx
lea ecx, [ebp - 0x142]
lea esi, [ebp - 0x22]
mov word [ebp - 0x144], ax
mov dword [ebp - 0x1a8], edi
jmp 0x40a265
cmp ax, 9
je 0x40a640
cmp ax, 0xa
jne 0x40a5bf
mov eax, 0x6e5c
add ecx, 2
mov word [ecx - 2], ax
lea eax, [edx - 1]
cmp ecx, esi
ja 0x409c50
test edx, edx
jle 0x409c50
mov edx, eax
add dword [ebp - 0x1a0], 2
mov eax, dword [ebp - 0x1a0]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x40a628
jbe 0x40a230
cmp ax, 0x22
je 0x40a610
cmp ax, 0x5c
jne 0x40a5b2
mov edi, 0x5c5c
add ecx, 2
mov word [ecx - 2], di
jmp 0x40a250
xor esi, esi
xor ebx, ebx
test al, 4
je 0x409aef
mov dword [esp + 0xc], str.Unable_to_extract_icon__deferring._n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40e000
mov dword [esp], 2
call fcn.00401480
jmp 0x409aef
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x409e50
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x40a4e8
mov edi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdef]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdef]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdef]
and edi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdef]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x409e50
mov edi, 0x225c
add ecx, 2
mov word [ecx - 2], di
jmp 0x409e50
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x409e50
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x409fa0
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x409fa0
lea ebx, [eax - 0x20]
cmp bx, 0x5e
jbe 0x40a598
mov ebx, eax
mov byte [ecx], 0x5c
add ecx, 5
shr bx, 0xc
movzx ebx, bx
movzx ebx, byte [ebx + str.0123456789abcdef]
mov byte [ecx - 4], bl
mov ebx, eax
shr bx, 8
and ebx, 0xf
movzx ebx, byte [ebx + str.0123456789abcdef]
mov byte [ecx - 3], bl
mov ebx, eax
and eax, 0xf
shr bx, 4
movzx eax, byte [eax + str.0123456789abcdef]
and ebx, 0xf
movzx ebx, byte [ebx + str.0123456789abcdef]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x409fa0
mov eax, 0x225c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x409fa0
lea eax, [edx - 0x20]
cmp ax, 0x5e
jbe 0x40a658
mov eax, edx
mov byte [ebx], 0x5c
add ebx, 5
shr ax, 0xc
movzx eax, ax
movzx eax, byte [eax + str.0123456789abcdef]
mov byte [ebx - 4], al
mov eax, edx
shr ax, 8
and eax, 0xf
movzx eax, byte [eax + str.0123456789abcdef]
mov byte [ebx - 3], al
mov eax, edx
and edx, 0xf
shr ax, 4
and eax, 0xf
movzx eax, byte [eax + str.0123456789abcdef]
mov byte [ebx - 2], al
movzx eax, byte [edx + str.0123456789abcdef]
mov byte [ebx - 1], al
jmp 0x409c00
mov eax, 0x725c
add ebx, 2
mov word [ebx - 2], ax
jmp 0x409c00
mov eax, 0x745c
add ebx, 2
mov word [ebx - 2], ax
jmp 0x409c00
mov eax, 0x225c
add ebx, 2
mov word [ebx - 2], ax
jmp 0x409c00
movzx eax, word [ebp - 0x19c]
mov dword [esp], str._04x
mov dword [esp + 4], eax
call fcn.004019b0
jmp 0x409ed0
mov byte [ecx], al
add ecx, 1
jmp 0x409e50
mov byte [ecx], 0x22
mov ebx, dword [ebp - 0x1a8]
test eax, eax
jle 0x40a6ab
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.0040dba0
jmp 0x40a08b
mov dword [esp + 0xc], str.Not_under_desktop_or_start_menu._Ignoring._n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40e000
mov dword [esp], 2
call fcn.00401480
jmp 0x409ae8
mov byte [ebx], 0x22
test eax, eax
jle 0x40a6e9
mov edx, 0x2e2e
mov byte [ebx + 3], 0x2e
lea eax, [ebx + 4]
mov word [ebx + 1], dx
mov byte [eax], 0
lea eax, [ebp - 0x144]
mov dword [esp], eax
call fcn.0040dba0
jmp 0x40a0d3
mov byte [ecx], al
add ecx, 1
jmp 0x409fa0
mov eax, str._null_
jmp 0x409ed0
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x40a6f8
mov edi, eax
mov byte [ecx], 0x5c
add ecx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdef]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [ecx - 4], bl
movzx ebx, byte [edi + str.0123456789abcdef]
mov edi, eax
and eax, 0xf
shr di, 4
movzx eax, byte [eax + str.0123456789abcdef]
and edi, 0xf
mov byte [ecx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdef]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x40a250
mov eax, 0x225c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x40a250
mov eax, 0x725c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x40a250
mov eax, 0x745c
add ecx, 2
mov word [ecx - 2], ax
jmp 0x40a250
mov byte [ebx], dl
add ebx, 1
jmp 0x409c00
mov esi, 0x224c
mov byte [ebp - 0x142], 0x22
lea ecx, [ebp - 0x142]
mov word [ebp - 0x144], si
lea eax, [ecx + 1]
jmp 0x409ebf
mov eax, str._null_
jmp 0x40a08b
mov eax, 0x224c
mov byte [ebp - 0x142], 0x22
lea ecx, [ebp - 0x142]
mov word [ebp - 0x144], ax
lea eax, [ecx + 1]
jmp 0x40a519
movzx ebx, bx
mov dword [esp], str._04x
mov dword [esp + 4], ebx
call fcn.004019b0
jmp 0x409c82
mov edx, 0x224c
mov byte [ebp - 0x142], 0x22
lea ebx, [ebp - 0x142]
mov word [ebp - 0x144], dx
lea eax, [ebx + 1]
jmp 0x40a57b
mov byte [ecx], al
add ecx, 1
jmp 0x40a250
mov eax, str._null_
jmp 0x409c82
mov eax, 0x224c
mov byte [ebp - 0x142], 0x22
lea ecx, [ebp - 0x142]
mov word [ebp - 0x144], ax
lea eax, [ecx + 1]
jmp 0x409c71
test eax, eax
je 0x40a816
shr eax, 0x10
je 0x40a7e7
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
push esi
push esi
test eax, eax
jne 0x40a831
mov eax, ebx
call fcn.004012a0
mov esi, eax
movsx eax, word [ebp - 0x150]
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x1a8], eax
test edx, edx
je 0x40a827
mov eax, edx
shr eax, 0x10
je 0x40a801
mov dword [esp + 4], 0xffffffff
mov dword [esp], edx
mov dword [ebp - 0x1ac], edx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
push ecx
push ecx
test eax, eax
jne 0x40a820
mov eax, dword [ebp - 0x1ac]
call fcn.004012a0
mov dword [esp + 0x18], esi
mov esi, dword [ebp - 0x1a8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], str.URL_icon_path:__s_icon_index:__d_icon_name:__s_n
mov dword [esp + 8], str.InvokeShellLinkerForURL
mov dword [esp + 4], 0x40e000
mov dword [esp], 3
call fcn.00401480
jmp 0x40a146
movzx eax, bx
mov dword [esp], str._04x
mov dword [esp + 4], eax
call fcn.004019b0
mov esi, eax
jmp 0x40a762
movzx edx, dx
mov dword [esp], str._04x
mov dword [esp + 4], edx
call fcn.004019b0
jmp 0x40a7ac
mov esi, str._null_
jmp 0x40a762
mov eax, str._invalid_
jmp 0x40a7ac
mov eax, str._null_
jmp 0x40a7ac
mov esi, str._invalid_
jmp 0x40a762