Function at 0x406230
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x630]
push ebx
sub esp, 0x78c
mov dword [esp + 4], edi
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetTempPathW]
lea eax, [ebp - 0x220]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
sub esp, 8
mov dword [esp + 4], 0x2ee
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
mov dword [esp], edi
call dword [0x41005c]
mov dword [esp + 4], str.p_Current_set_to_temp_path_failed_n
movzx eax, al
mov dword [esp], eax
call fcn.0040acd0
lea eax, [ebp - 0x428]
mov dword [esp], eax
call dword [0x410060]
mov dword [esp + 4], 0x2f0
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
mov ebx, eax
call fcn.0040aa60
movzx eax, bl
mov dword [esp + 4], str.p_Current_get_returned__u_n
mov dword [esp + 8], eax
xor eax, eax
cmp bl, 1
sete al
mov dword [esp], eax
call fcn.0040acd0
lea eax, [ebp - 0x428]
mov dword [esp + 4], 0x40ddf0
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_wcscat]
mov dword [ebp - 0x784], eax
call eax
mov dword [esp + 4], 0x2f2
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
lea eax, [ebp - 0x428]
shr eax, 0x10
mov dword [ebp - 0x774], eax
je 0x407220
lea eax, [ebp - 0x428]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov dword [ebp - 0x77c], str._invalid_
sub esp, 8
test eax, eax
jne 0x40642c
cmp word [ebp - 0x428], 0
je 0x40636f
add eax, 1
cmp word [ebp + eax*2 - 0x428], 0
jne 0x406361
mov edx, 0x224c
lea ebx, [ebp - 0x63a]
lea ecx, [ebp - 0x428]
mov word [ebp - 0x75c], dx
lea edx, [ebp - 0x75a]
mov dword [ebp - 0x76c], ebx
lea ebx, [eax - 1]
mov dword [ebp - 0x770], ecx
cmp edx, dword [ebp - 0x76c]
ja 0x4063fb
test eax, eax
jle 0x4063fb
add dword [ebp - 0x770], 2
mov eax, dword [ebp - 0x770]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x407120
ja 0x406c41
cmp ax, 9
je 0x407103
cmp ax, 0xa
jne 0x4070a3
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
lea esi, [esi]
nop
lea ebx, [eax - 1]
cmp edx, dword [ebp - 0x76c]
jbe 0x4063a4
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x406415
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x75c]
mov dword [esp], eax
call fcn.0040b780
mov dword [ebp - 0x77c], eax
mov eax, edi
shr eax, 0x10
mov dword [ebp - 0x780], eax
je 0x407200
mov dword [esp + 4], 0xffffffff
mov ebx, str._invalid_
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x406538
cmp word [ebp - 0x630], 0
je 0x40647a
lea esi, [esi]
nop
add eax, 1
cmp word [edi + eax*2], 0
jne 0x406470
mov edx, 0x224c
lea ebx, [ebp - 0x63a]
mov dword [ebp - 0x770], edi
mov word [ebp - 0x75c], dx
lea edx, [ebp - 0x75a]
mov dword [ebp - 0x76c], ebx
lea ebx, [eax - 1]
cmp edx, dword [ebp - 0x76c]
ja 0x40650b
lea esi, [esi]
test eax, eax
jle 0x40650b
add dword [ebp - 0x770], 2
mov eax, dword [ebp - 0x770]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x407073
ja 0x406ca0
cmp ax, 9
je 0x407060
cmp ax, 0xa
jne 0x407000
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
lea esi, [esi]
nop
lea ebx, [eax - 1]
cmp edx, dword [ebp - 0x76c]
jbe 0x4064b0
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x406525
mov ebx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], bx
mov byte [eax], 0
lea eax, [ebp - 0x75c]
mov dword [esp], eax
call fcn.0040b780
mov ebx, eax
lea eax, [ebp - 0x428]
mov dword [esp], edi
mov dword [esp + 4], eax
mov eax, dword [sym.imp.msvcrt.dll_wcscmp]
mov dword [ebp - 0x778], eax
call eax
mov ecx, dword [ebp - 0x77c]
mov dword [esp + 8], ebx
test eax, eax
mov dword [esp + 4], str.p_Current_get__:_expect:__s__got__s_n
sete al
mov dword [esp + 0xc], ecx
movzx eax, al
mov dword [esp], eax
call fcn.0040acd0
mov dword [esp + 4], 0x2f5
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
mov dword [esp], 0x40de48
call dword [0x41005c]
mov dword [esp + 4], str.p_Current_set_to_temp_path_failed_n
movzx eax, al
mov dword [esp], eax
call fcn.0040acd0
lea eax, [ebp - 0x428]
mov dword [esp], eax
call dword [0x410060]
mov dword [esp + 4], 0x2f7
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
mov ebx, eax
call fcn.0040aa60
movzx eax, bl
mov dword [esp + 4], str.p_Current_get_returned__u_n
mov dword [esp + 8], eax
xor eax, eax
cmp bl, 1
sete al
mov dword [esp], eax
call fcn.0040acd0
lea eax, [ebp - 0x428]
mov dword [esp + 4], 0x40ddf0
mov dword [esp], eax
mov eax, dword [ebp - 0x784]
call eax
mov dword [esp + 4], 0x2f9
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
mov ecx, dword [ebp - 0x774]
test ecx, ecx
je 0x4071d0
lea eax, [ebp - 0x428]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov dword [ebp - 0x77c], str._invalid_
sub esp, 8
test eax, eax
jne 0x40672c
cmp word [ebp - 0x428], 0
je 0x40666f
add eax, 1
cmp word [ebp + eax*2 - 0x428], 0
jne 0x406661
mov edx, 0x224c
lea ebx, [ebp - 0x63a]
lea ecx, [ebp - 0x428]
mov word [ebp - 0x75c], dx
lea edx, [ebp - 0x75a]
mov dword [ebp - 0x76c], ebx
lea ebx, [eax - 1]
mov dword [ebp - 0x770], ecx
cmp edx, dword [ebp - 0x76c]
ja 0x4066fb
test eax, eax
jle 0x4066fb
add dword [ebp - 0x770], 2
mov eax, dword [ebp - 0x770]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x406f53
ja 0x406d00
cmp ax, 9
je 0x406fe3
cmp ax, 0xa
jne 0x406f83
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
lea esi, [esi]
nop
lea ebx, [eax - 1]
cmp edx, dword [ebp - 0x76c]
jbe 0x4066a4
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x406715
mov ebx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], bx
mov byte [eax], 0
lea eax, [ebp - 0x75c]
mov dword [esp], eax
call fcn.0040b780
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x780]
test ecx, ecx
je 0x4071b0
mov dword [esp + 4], 0xffffffff
mov ebx, str._invalid_
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x406828
cmp word [ebp - 0x630], 0
je 0x40676f
add eax, 1
cmp word [edi + eax*2], 0
jne 0x406765
mov edx, 0x224c
lea ebx, [ebp - 0x63a]
mov dword [ebp - 0x770], edi
mov word [ebp - 0x75c], dx
lea edx, [ebp - 0x75a]
mov dword [ebp - 0x76c], ebx
lea ebx, [eax - 1]
cmp edx, dword [ebp - 0x76c]
ja 0x4067fb
nop
test eax, eax
jle 0x4067fb
add dword [ebp - 0x770], 2
mov eax, dword [ebp - 0x770]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x406f40
ja 0x406cd0
cmp ax, 9
je 0x406f23
cmp ax, 0xa
jne 0x406ec3
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
lea esi, [esi]
nop
lea ebx, [eax - 1]
cmp edx, dword [ebp - 0x76c]
jbe 0x4067a0
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x406815
mov ebx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], bx
mov byte [eax], 0
lea eax, [ebp - 0x75c]
mov dword [esp], eax
call fcn.0040b780
mov ebx, eax
lea eax, [ebp - 0x428]
mov dword [esp], edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x778]
call eax
mov edi, dword [ebp - 0x77c]
mov dword [esp + 8], ebx
test eax, eax
mov dword [esp + 4], str.p_Current_get__:_expect:__s__got__s_n
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp], eax
call fcn.0040acd0
mov ebx, dword [sym.imp.msvcrt.dll__errno]
call ebx
mov dword [eax], 0xdeadbeef
mov dword [esp + 4], 0x2fd
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
mov dword [esp], str.not_exist_dir
call dword [0x41005c]
mov dword [esp + 4], str.p_Current_set_to_not_exist_dir_succeed_n
test al, al
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040acd0
mov dword [esp + 4], 0x2fe
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
call ebx
mov esi, dword [eax]
call ebx
mov dword [esp + 4], str.errno___d_n
mov dword [esp + 8], esi
cmp dword [eax], 0xdeadbeef
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040acd0
call ebx
mov dword [eax], 0xdeadbeef
mov dword [esp + 4], 0x301
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
mov dword [esp], str.__invalid_name__
call dword [0x41005c]
mov dword [esp + 4], str.p_Current_set_to___invalid_name___succeed_n
test al, al
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040acd0
mov dword [esp + 4], 0x302
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
call ebx
mov esi, dword [eax]
call ebx
mov dword [esp + 4], str.errno___d_n
mov dword [esp + 8], esi
cmp dword [eax], 0xdeadbeef
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040acd0
mov dword [esp + 4], 0x304
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
lea eax, [ebp - 0x220]
mov dword [esp], eax
call dword [0x41005c]
mov dword [esp + 4], str.p_Current_set_to_origin_path_failed_n
movzx eax, al
mov dword [esp], eax
call fcn.0040acd0
lea eax, [ebp - 0x428]
mov dword [esp], eax
call dword [0x410060]
mov dword [esp + 4], 0x306
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
mov ebx, eax
call fcn.0040aa60
movzx eax, bl
mov dword [esp + 4], str.p_Current_get_returned__u_n
mov dword [esp + 8], eax
xor eax, eax
cmp bl, 1
sete al
mov dword [esp], eax
call fcn.0040acd0
mov dword [esp + 4], 0x307
mov dword [esp], str..._wine_dlls_msvcp140_tests_msvcp140.c
call fcn.0040aa60
mov ecx, dword [ebp - 0x774]
test ecx, ecx
je 0x407180
lea eax, [ebp - 0x428]
mov dword [esp + 4], 0xffffffff
mov ebx, str._invalid_
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x406af4
cmp word [ebp - 0x428], 0
je 0x406a3e
lea esi, [esi]
add eax, 1
cmp word [ebp + eax*2 - 0x428], 0
jne 0x406a30
mov edx, 0x224c
lea ecx, [ebp - 0x428]
lea edi, [ebp - 0x63a]
mov word [ebp - 0x75c], dx
lea ebx, [eax - 1]
lea edx, [ebp - 0x75a]
mov dword [ebp - 0x76c], ecx
test eax, eax
jle 0x406ac7
lea esi, [esi]
cmp edx, edi
ja 0x406ac7
add dword [ebp - 0x76c], 2
mov eax, dword [ebp - 0x76c]
movzx eax, word [eax - 2]
cmp ax, 0xd
je 0x406e93
ja 0x406d30
cmp ax, 9
je 0x406e80
cmp ax, 0xa
jne 0x406e20
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
lea esi, [esi]
nop
lea ebx, [eax - 1]
test eax, eax
jg 0x406a70
mov byte [edx], 0x22
lea eax, [edx + 1]
test ebx, ebx
jle 0x406ae1
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x75c]
mov dword [esp], eax
call fcn.0040b780
mov ebx, eax
lea eax, [ebp - 0x220]
shr eax, 0x10
je 0x407150
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0xffffffff
mov esi, str._invalid_
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x406bfe
cmp word [ebp - 0x220], 0
je 0x406b42
add eax, 1
cmp word [ebp + eax*2 - 0x220], 0
jne 0x406b34
mov edx, 0x224c
lea edi, [ebp - 0x63a]
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x770], ebx
mov word [ebp - 0x75c], dx
lea esi, [eax - 1]
lea edx, [ebp - 0x75a]
mov dword [ebp - 0x76c], edi
cmp edx, dword [ebp - 0x76c]
ja 0x406bcb
lea esi, [esi]
nop
test eax, eax
jle 0x406bcb
add ecx, 2
movzx eax, word [ecx - 2]
cmp ax, 0xd
je 0x406dd3
ja 0x406c70
cmp ax, 9
je 0x406df0
cmp ax, 0xa
jne 0x406d60
mov eax, 0x6e5c
add edx, 2
mov word [edx - 2], ax
mov eax, esi
lea esi, [esi]
lea esi, [eax - 1]
cmp edx, dword [ebp - 0x76c]
jbe 0x406b80
mov ebx, dword [ebp - 0x770]
mov byte [edx], 0x22
lea eax, [edx + 1]
test esi, esi
jle 0x406beb
mov ecx, 0x2e2e
mov byte [edx + 3], 0x2e
lea eax, [edx + 4]
mov word [edx + 1], cx
mov byte [eax], 0
lea eax, [ebp - 0x75c]
mov dword [esp], eax
call fcn.0040b780
mov esi, eax
lea eax, [ebp - 0x428]
mov dword [esp + 4], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
mov eax, dword [ebp - 0x778]
call eax
mov dword [esp + 0xc], ebx
test eax, eax
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.p_Current_get__:_expect:__s__got__s_n
movzx eax, al
mov dword [esp], eax
call fcn.0040acd0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ax, 0x22
je 0x407133
cmp ax, 0x5c
jne 0x4070a3
mov esi, 0x5c5c
add edx, 2
mov eax, ebx
mov word [edx - 2], si
jmp 0x4063f0
cmp ax, 0x22
je 0x406dc0
cmp ax, 0x5c
jne 0x406d60
mov ebx, 0x5c5c
add edx, 2
mov eax, esi
mov word [edx - 2], bx
jmp 0x406bc0
cmp ax, 0x22
je 0x407090
cmp ax, 0x5c
jne 0x407000
mov esi, 0x5c5c
add edx, 2
mov eax, ebx
mov word [edx - 2], si
jmp 0x406500
cmp ax, 0x22
je 0x406eb0
cmp ax, 0x5c
jne 0x406ec3
mov esi, 0x5c5c
add edx, 2
mov eax, ebx
mov word [edx - 2], si
jmp 0x4067f0
cmp ax, 0x22
je 0x406f70
cmp ax, 0x5c
jne 0x406f83
mov esi, 0x5c5c
add edx, 2
mov eax, ebx
mov word [edx - 2], si
jmp 0x4066f0
cmp ax, 0x22
je 0x406e03
cmp ax, 0x5c
jne 0x406e20
mov esi, 0x5c5c
add edx, 2
mov eax, ebx
mov word [edx - 2], si
jmp 0x406ac0
lea edi, [eax - 0x20]
cmp di, 0x5e
jbe 0x407250
mov edi, eax
mov byte [edx], 0x5c
add edx, 5
shr di, 0xc
movzx edi, di
movzx ebx, byte [edi + str.0123456789abcdef]
mov edi, eax
shr di, 8
and edi, 0xf
mov byte [edx - 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 [edx - 3], bl
movzx ebx, byte [edi + str.0123456789abcdef]
mov byte [edx - 1], al
mov eax, esi
mov byte [edx - 2], bl
jmp 0x406bc0
mov edi, 0x225c
add edx, 2
mov eax, esi
mov word [edx - 2], di
jmp 0x406bc0
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, esi
jmp 0x406bc0
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, esi
jmp 0x406bc0
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x406ac0
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x407260
mov esi, eax
mov byte [edx], 0x5c
add edx, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdef]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [esi + str.0123456789abcdef]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdef]
and esi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [esi + str.0123456789abcdef]
mov byte [edx - 1], al
mov eax, ebx
mov byte [edx - 2], cl
jmp 0x406ac0
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x406ac0
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x406ac0
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4067f0
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x407270
mov esi, eax
mov byte [edx], 0x5c
add edx, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdef]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [esi + str.0123456789abcdef]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdef]
and esi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [esi + str.0123456789abcdef]
mov byte [edx - 1], al
mov eax, ebx
mov byte [edx - 2], cl
jmp 0x4067f0
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4067f0
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4067f0
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4066f0
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4066f0
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x407280
mov esi, eax
mov byte [edx], 0x5c
add edx, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdef]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [esi + str.0123456789abcdef]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdef]
and esi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [esi + str.0123456789abcdef]
mov byte [edx - 1], al
mov eax, ebx
mov byte [edx - 2], cl
jmp 0x4066f0
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4066f0
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x407290
mov esi, eax
mov byte [edx], 0x5c
add edx, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdef]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [esi + str.0123456789abcdef]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdef]
and esi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [esi + str.0123456789abcdef]
mov byte [edx - 1], al
mov eax, ebx
mov byte [edx - 2], cl
jmp 0x406500
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x406500
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x406500
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x406500
lea esi, [eax - 0x20]
cmp si, 0x5e
jbe 0x4072a0
mov esi, eax
mov byte [edx], 0x5c
add edx, 5
shr si, 0xc
movzx esi, si
movzx ecx, byte [esi + str.0123456789abcdef]
mov esi, eax
shr si, 8
and esi, 0xf
mov byte [edx - 4], cl
movzx ecx, byte [esi + str.0123456789abcdef]
mov esi, eax
and eax, 0xf
shr si, 4
movzx eax, byte [eax + str.0123456789abcdef]
and esi, 0xf
mov byte [edx - 3], cl
movzx ecx, byte [esi + str.0123456789abcdef]
mov byte [edx - 1], al
mov eax, ebx
mov byte [edx - 2], cl
jmp 0x4063f0
mov eax, 0x745c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4063f0
mov eax, 0x725c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4063f0
mov eax, 0x225c
add edx, 2
mov word [edx - 2], ax
mov eax, ebx
jmp 0x4063f0
lea eax, [ebp - 0x220]
mov dword [esp], str._04x
mov dword [ebp - 0x76c], eax
movzx eax, word [ebp - 0x76c]
mov dword [esp + 4], eax
call fcn.00401490
mov esi, eax
jmp 0x406bfe
lea eax, [ebp - 0x428]
mov dword [esp], str._04x
mov dword [ebp - 0x76c], eax
movzx eax, word [ebp - 0x76c]
mov dword [esp + 4], eax
call fcn.00401490
mov ebx, eax
jmp 0x406af4
movzx eax, di
mov dword [esp], str._04x
mov dword [esp + 4], eax
call fcn.00401490
mov ebx, eax
jmp 0x406828
lea eax, [ebp - 0x428]
mov dword [esp], str._04x
mov dword [ebp - 0x76c], eax
movzx eax, word [ebp - 0x76c]
mov dword [esp + 4], eax
call fcn.00401490
mov dword [ebp - 0x77c], eax
jmp 0x40672c
movzx eax, di
mov dword [esp], str._04x
mov dword [esp + 4], eax
call fcn.00401490
mov ebx, eax
jmp 0x406538
lea eax, [ebp - 0x428]
mov dword [esp], str._04x
mov dword [ebp - 0x76c], eax
movzx eax, word [ebp - 0x76c]
mov dword [esp + 4], eax
call fcn.00401490
mov dword [ebp - 0x77c], eax
jmp 0x40642c
mov byte [edx], al
add edx, 1
mov eax, esi
jmp 0x406bc0
mov byte [edx], al
add edx, 1
mov eax, ebx
jmp 0x406ac0
mov byte [edx], al
add edx, 1
mov eax, ebx
jmp 0x4067f0
mov byte [edx], al
add edx, 1
mov eax, ebx
jmp 0x4066f0
mov byte [edx], al
add edx, 1
mov eax, ebx
jmp 0x406500
mov byte [edx], al
add edx, 1
mov eax, ebx
jmp 0x4063f0