Function at 0x440640
Capabilities:
Get disk information via ioctl
Set uefi variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4654ae
mov eax, dword fs:[0]
push eax
sub esp, 0xa84
mov eax, dword [0x48602c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push str.___CreateBootEntry___
push 0x149
push 0x46a7cc
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 8
mov dword [ebp - 0x264], 0
push str.ntdll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0
jne 0x4406e8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x14f
push 0x46a87c
push 0x46a8b8
push 0x14f
push 0x46a8f0
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0x14
xor al, al
jmp 0x44163e
mov dword [ebp - 0x22c], 0
push str.NtQuerySystemInformation
mov eax, dword [ebp - 0x264]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0
jne 0x44074b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x157
push 0x46a948
push 0x46a984
push 0x157
push 0x46a9bc
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0x14
xor al, al
jmp 0x44163e
mov byte [ebp - 0x5e4], 0
push 0xff
push 0
lea ecx, [ebp - 0x5e3]
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x7f0], 0
lea edx, [ebp - 0x240]
push edx
push pe_nt_image_headers32
lea eax, [ebp - 0x5e4]
push eax
push 0x62
call dword [ebp - 0x22c]
mov dword [ebp - 0x7f0], eax
cmp dword [ebp - 0x7f0], 0
je 0x4407de
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x161
push 0x46a9f8
push 0x46aa34
push 0x161
push 0x46aa6c
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0x14
xor al, al
jmp 0x44163e
mov word [ebp - 0x7ec], 0
push 0x1fe
push 0
lea ecx, [ebp - 0x7ea]
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
lea edx, [ebp - 0x5cc]
push edx
push str.._s
push 0x200
lea eax, [ebp - 0x7ec]
push eax
call fcn.00410bf0
add esp, 0x10
mov dword [ebp - 0x23c], 0
push 0
push 0
push 3
push 0
push 3
push bind
lea ecx, [ebp - 0x7ec]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0xffffffff
jne 0x4409bd
lea ecx, [ebp - 0x818]
call fcn.0043b7c0
lea ecx, [ebp - 0x834]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov dword [ebp - 4], 0
push str.Device_
lea ecx, [ebp - 0x834]
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_wchar_t_const__]
lea edx, [ebp - 0x7e4]
push edx
lea ecx, [ebp - 0x834]
call dword [0x46831c]
lea ecx, [ebp - 0x810]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov byte [ebp - 4], 1
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x834]
call dword [sym.imp.MSVCP80.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
lea ecx, [ebp - 0x818]
call fcn.0043bda0
movzx ecx, al
test ecx, ecx
jne 0x440934
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x179
push 0x46aacc
push 0x46ab08
push 0x179
push 0x46ab40
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0x14
mov byte [ebp - 0xa8d], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x810]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x834]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov al, byte [ebp - 0xa8d]
jmp 0x44163e
push 0
push 0
push 3
push 0
push 3
push bind
lea ecx, [ebp - 0x810]
call dword [sym.imp.MSVCP80.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0xffffffff
jne 0x44099a
mov byte [ebp - 0xa8e], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x810]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x834]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov al, byte [ebp - 0xa8e]
jmp 0x44163e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x810]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x834]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push 0x800000
push 0
push 0xc9b448
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0
lea edx, [ebp - 0x240]
push edx
push 0x800000
push 0xc9b448
push 0
push 0
push 0x560000
mov eax, dword [ebp - 0x23c]
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x440a43
mov ecx, dword [ebp - 0x23c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x193
push 0x46ab7c
push 0x46abb8
push 0x193
push 0x46abf0
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0x14
xor al, al
jmp 0x44163e
mov edx, dword [ebp - 0x23c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x260], 0xc9b448
mov word [ebp - 0x4e4], 0
push 0x1fe
push 0
lea eax, [ebp - 0x4e2]
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 0x260]
mov edx, dword [ecx + 8]
push edx
push 0x46ac2c
push 0x200
lea eax, [ebp - 0x4e4]
push eax
call fcn.00410bf0
add esp, 0x10
mov dword [ebp - 0x224], 0
push 0
push 0
push 3
push 0
push 3
push bind
lea ecx, [ebp - 0x4e4]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0xffffffff
jne 0x440b09
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1a5
push 0x46ac54
push 0x46ac90
push 0x1a5
push 0x46acc8
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0x14
xor al, al
jmp 0x44163e
push 0x800000
push 0
push 0xc9b448
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0
lea edx, [ebp - 0x240]
push edx
push 0x800000
push 0xc9b448
push 0
push 0
push 0x70000
mov eax, dword [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x440b8f
mov ecx, dword [ebp - 0x224]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1b4
push 0x46ad04
push 0x46ad40
push 0x1b4
push 0x46ad78
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0x14
xor al, al
jmp 0x44163e
mov dword [ebp - 0x238], 0xc9b448
mov edx, dword [ebp - 0x238]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x2b0], eax
push 0
lea ecx, [ebp - 0x240]
push ecx
push 0x800000
push 0xc9b448
push 0
push 0
push 0x70050
mov edx, dword [ebp - 0x224]
push edx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x440c1a
mov eax, dword [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1c5
push 0x46adb4
push 0x46adf0
push 0x1c5
push 0x46ae28
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0x14
xor al, al
jmp 0x44163e
mov ecx, dword [ebp - 0x224]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x220], 0xc9b448
mov edx, dword [ebp - 0x220]
cmp dword [edx], 1
je 0x440c43
xor al, al
jmp 0x44163e
mov byte [ebp - 0x2e0], 0
push 0x29
push 0
lea eax, [ebp - 0x2df]
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
mov byte [ebp - 0x5e5], 0
mov dword [ebp - 0x838], 0
jmp 0x440c7f
mov ecx, dword [ebp - 0x838]
add ecx, 1
mov dword [ebp - 0x838], ecx
mov edx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x838]
cmp eax, dword [edx + 4]
jae 0x440da7
push 0x10
push 0x469820
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x90
mov edx, dword [ebp - 0x220]
lea eax, [edx + ecx + 0x50]
push eax
call sub.MSVCR80.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x440da2
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x90
mov edx, dword [ebp - 0x220]
mov eax, dword [edx + ecx + 0x48]
mov dword [ebp - 0x2dc], eax
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x90
mov edx, dword [ebp - 0x2b0]
xor eax, eax
mov esi, dword [ebp - 0x220]
push eax
push edx
mov edx, dword [esi + ecx + 0x3c]
push edx
mov eax, dword [esi + ecx + 0x38]
push eax
call fcn.00464530
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], edx
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x90
mov edx, dword [ebp - 0x2b0]
xor eax, eax
mov esi, dword [ebp - 0x220]
push eax
push edx
mov edx, dword [esi + ecx + 0x44]
push edx
mov eax, dword [esi + ecx + 0x40]
push eax
call fcn.00464530
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], edx
push 0x10
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x90
mov edx, dword [ebp - 0x220]
lea eax, [edx + ecx + 0x60]
push eax
lea ecx, [ebp - 0x2c8]
push ecx
call sub.MSVCR80.dll_memcpy
add esp, 0xc
mov byte [ebp - 0x2b8], 2
mov byte [ebp - 0x2b7], 2
mov byte [ebp - 0x2e0], 4
mov byte [ebp - 0x2df], 1
mov word [ebp - 0x2de], 0x2a
mov byte [ebp - 0x5e5], 1
jmp 0x440da7
jmp 0x440c70
movzx edx, byte [ebp - 0x5e5]
test edx, edx
jne 0x440db9
xor al, al
jmp 0x44163e
push 0x800000
push 0
push 0xc9b448
call sub.MSVCR80.dll_memset
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCR80.dll_wcslen]
add esp, 4
lea ecx, [eax + eax + 8]
mov dword [ebp - 0x2ac], ecx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.MSVCR80.dll_wcslen]
add esp, 4
lea eax, [eax + eax + 6]
mov dword [ebp - 0x2b4], eax
mov ecx, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x2ac]
lea eax, [edx + ecx + 0x2e]
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x234], 0xc9b448
mov ecx, dword [ebp - 0x234]
mov dword [ecx], 1
mov edx, dword [ebp - 0x2b4]
add edx, 0x2e
mov eax, dword [ebp - 0x234]
mov word [eax + 4], dx
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.MSVCR80.dll_wcslen]
add esp, 4
shl eax, 1
push eax
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x234]
add eax, 6
push eax
call sub.MSVCR80.dll_memcpy
add esp, 0xc
push 0x2a
lea ecx, [ebp - 0x2e0]
push ecx
mov edx, dword [ebp - 0x2ac]
add edx, 0xc9b448
push edx
call sub.MSVCR80.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x2ac]
add eax, 0xc9b472
mov dword [ebp - 0x7f4], eax
mov ecx, dword [ebp - 0x7f4]
mov byte [ecx], 4
mov edx, dword [ebp - 0x7f4]
mov byte [edx + 1], 4
mov eax, dword [ebp - 0x7f4]
mov cx, word [ebp - 0x2b4]
mov word [eax + 2], cx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.MSVCR80.dll_wcslen]
add esp, 4
lea eax, [eax + eax + 2]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x7f4]
add edx, 4
push edx
call sub.MSVCR80.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x2a8]
mov byte [eax + 0xc9b447], 0
mov ecx, dword [ebp - 0x2a8]
mov byte [ecx + 0xc9b446], 4
mov edx, dword [ebp - 0x2a8]
mov byte [edx + 0xc9b445], 0xff
mov eax, dword [ebp - 0x2a8]
mov byte [eax + 0xc9b444], 0x7f
mov word [ebp - 0x21c], 0
push 0x1fe
push 0
lea ecx, [ebp - 0x21a]
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
xor edx, edx
mov word [ebp - 0x1c], dx
lea eax, [ebp - 0x21c]
push eax
call fcn.0043d8f0
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x440f82
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1ff
push 0x46ae64
push 0x46aea0
push 0x1ff
push 0x46aed8
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0x14
xor al, al
jmp 0x44163e
push 0x46af14
push 0x203
push 0x46af3c
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 8
mov dword [ebp - 0x83c], 0
jmp 0x440fbd
mov edx, dword [ebp - 0x83c]
add edx, 1
mov dword [ebp - 0x83c], edx
movzx eax, word [ebp - 0x1c]
cmp dword [ebp - 0x83c], eax
jae 0x44105a
mov word [ebp - 0x85c], 0
xor ecx, ecx
mov dword [ebp - 0x85a], ecx
mov dword [ebp - 0x856], ecx
mov dword [ebp - 0x852], ecx
mov dword [ebp - 0x84e], ecx
mov dword [ebp - 0x84a], ecx
mov dword [ebp - 0x846], ecx
mov dword [ebp - 0x842], ecx
mov word [ebp - 0x83e], cx
mov edx, dword [ebp - 0x83c]
movzx eax, word [ebp + edx*2 - 0x21c]
push eax
push 0x46af78
push 0x20
lea ecx, [ebp - 0x85c]
push ecx
call fcn.00410bf0
add esp, 0x10
lea edx, [ebp - 0x85c]
push edx
push 0x46af84
push 0x208
push 0x46af9c
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0xc
jmp 0x440fae
push 0x46afd8
push 0x20a
push 0x46b000
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 8
mov word [ebp - 0x230], 0x15be
mov byte [ebp - 0x5e6], 0
mov dword [ebp - 0x860], 0
jmp 0x4410a5
mov eax, dword [ebp - 0x860]
add eax, 1
mov dword [ebp - 0x860], eax
movzx ecx, word [ebp - 0x1c]
cmp dword [ebp - 0x860], ecx
jae 0x4410d5
mov edx, dword [ebp - 0x860]
movzx eax, word [ebp + edx*2 - 0x21c]
movzx ecx, word [ebp - 0x230]
cmp eax, ecx
jne 0x4410d3
mov byte [ebp - 0x5e6], 1
jmp 0x4410d5
jmp 0x441096
movzx edx, byte [ebp - 0x5e6]
test edx, edx
je 0x441111
push 0x22b
push 0x46b03c
push str._s:__d_Faild__EntryId_exist
push 0x22b
push 0x46b0b0
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0x10
xor al, al
jmp 0x44163e
movzx eax, word [ebp - 0x1c]
mov cx, word [ebp - 0x230]
mov word [ebp + eax*2 - 0x21c], cx
mov dx, word [ebp - 0x1c]
add dx, 1
mov word [ebp - 0x1c], dx
movzx eax, word [ebp - 0x1c]
shl eax, 1
push eax
lea ecx, [ebp - 0x21c]
push ecx
push 0x4697d0
push 0x46b0ec
call dword [sym.imp.KERNEL32.dll_SetFirmwareEnvironmentVariableW]
test eax, eax
jne 0x44118a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x233
push 0x46b100
push 0x46b13c
push 0x233
push 0x46b174
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0x14
xor al, al
jmp 0x44163e
push 0x46b1b0
push 0x237
push 0x46b1e0
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 8
mov dword [ebp - 0x864], 0
jmp 0x4411c5
mov edx, dword [ebp - 0x864]
add edx, 1
mov dword [ebp - 0x864], edx
movzx eax, word [ebp - 0x1c]
cmp dword [ebp - 0x864], eax
jae 0x441262
mov word [ebp - 0x884], 0
xor ecx, ecx
mov dword [ebp - 0x882], ecx
mov dword [ebp - 0x87e], ecx
mov dword [ebp - 0x87a], ecx
mov dword [ebp - 0x876], ecx
mov dword [ebp - 0x872], ecx
mov dword [ebp - 0x86e], ecx
mov dword [ebp - 0x86a], ecx
mov word [ebp - 0x866], cx
mov edx, dword [ebp - 0x864]
movzx eax, word [ebp + edx*2 - 0x21c]
push eax
push 0x46b21c
push 0x20
lea ecx, [ebp - 0x884]
push ecx
call fcn.00410bf0
add esp, 0x10
lea edx, [ebp - 0x884]
push edx
push 0x46b228
push 0x23c
push 0x46b240
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0xc
jmp 0x4411b6
push 0x46b27c
push 0x23e
push 0x46b2a4
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 8
mov word [ebp - 0x2a4], 0
push 0x3e
push 0
lea eax, [ebp - 0x2a2]
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
movzx ecx, word [ebp - 0x230]
push ecx
push 0x46b2e0
push 0x40
lea edx, [ebp - 0x2a4]
push edx
call fcn.00410bf0
add esp, 0x10
mov eax, dword [ebp - 0x2a8]
push eax
push 0xc9b448
push 0x4697d0
lea ecx, [ebp - 0x2a4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFirmwareEnvironmentVariableW]
test eax, eax
jne 0x441316
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x244
push 0x46b2f4
push 0x46b330
push 0x244
push 0x46b368
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0x14
xor al, al
jmp 0x44163e
push str._____NewBootInfo_____
push 0x248
push 0x46b3d0
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 8
mov edx, dword [ebp - 0x2a8]
shr edx, 4
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0x2a8]
xor edx, edx
mov ecx, 0x10
div ecx
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x888], 0
jmp 0x441375
mov edx, dword [ebp - 0x888]
add edx, 1
mov dword [ebp - 0x888], edx
mov eax, dword [ebp - 0x888]
cmp eax, dword [ebp - 0x228]
jae 0x4414bc
mov ecx, dword [ebp - 0x888]
shl ecx, 4
movzx edx, byte [ecx + 0xc9b457]
push edx
mov eax, dword [ebp - 0x888]
shl eax, 4
movzx ecx, byte [eax + 0xc9b456]
push ecx
mov edx, dword [ebp - 0x888]
shl edx, 4
movzx eax, byte [edx + 0xc9b455]
push eax
mov ecx, dword [ebp - 0x888]
shl ecx, 4
movzx edx, byte [ecx + 0xc9b454]
push edx
mov eax, dword [ebp - 0x888]
shl eax, 4
movzx ecx, byte [eax + 0xc9b453]
push ecx
mov edx, dword [ebp - 0x888]
shl edx, 4
movzx eax, byte [edx + 0xc9b452]
push eax
mov ecx, dword [ebp - 0x888]
shl ecx, 4
movzx edx, byte [ecx + 0xc9b451]
push edx
mov eax, dword [ebp - 0x888]
shl eax, 4
movzx ecx, byte [eax + 0xc9b450]
push ecx
mov edx, dword [ebp - 0x888]
shl edx, 4
movzx eax, byte [edx + 0xc9b44f]
push eax
mov ecx, dword [ebp - 0x888]
shl ecx, 4
movzx edx, byte [ecx + 0xc9b44e]
push edx
mov eax, dword [ebp - 0x888]
shl eax, 4
movzx ecx, byte [eax + 0xc9b44d]
push ecx
mov edx, dword [ebp - 0x888]
shl edx, 4
movzx eax, byte [edx + 0xc9b44c]
push eax
mov ecx, dword [ebp - 0x888]
shl ecx, 4
movzx edx, byte [ecx + 0xc9b44b]
push edx
mov eax, dword [ebp - 0x888]
shl eax, 4
movzx ecx, byte [eax + 0xc9b44a]
push ecx
mov edx, dword [ebp - 0x888]
shl edx, 4
movzx eax, byte [edx + 0xc9b449]
push eax
mov ecx, dword [ebp - 0x888]
shl ecx, 4
movzx edx, byte [ecx + 0xc9b448]
push edx
push str._02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X__02X
push 0x24c
push 0x46b40c
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0x48
jmp 0x441366
lea ecx, [ebp - 0x25c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov dword [ebp - 4], 2
mov dword [ebp - 0x88c], 0
jmp 0x4414ea
mov eax, dword [ebp - 0x88c]
add eax, 1
mov dword [ebp - 0x88c], eax
mov ecx, dword [ebp - 0x88c]
cmp ecx, dword [ebp - 0x2e4]
jae 0x44159b
mov word [ebp - 0xa8c], 0
push 0x1fe
push 0
lea edx, [ebp - 0xa8a]
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x228]
shl eax, 4
mov ecx, dword [ebp - 0x88c]
movzx edx, byte [ecx + eax + 0xc9b448]
push edx
push str._02X
push 0x200
lea eax, [ebp - 0xa8c]
push eax
call fcn.00410bf0
add esp, 0x10
mov ecx, dword [ebp - 0x2e4]
sub ecx, 1
cmp dword [ebp - 0x88c], ecx
je 0x441583
lea edx, [ebp - 0xa8c]
push edx
lea ecx, [ebp - 0x25c]
call dword [0x46831c]
push 0x46b4f4
lea ecx, [ebp - 0x25c]
call dword [0x46831c]
jmp 0x441596
lea eax, [ebp - 0xa8c]
push eax
lea ecx, [ebp - 0x25c]
call dword [0x46831c]
jmp 0x4414db
lea ecx, [ebp - 0x25c]
call dword [sym.imp.MSVCP80.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
push 0x46b4f8
push 0x26c
push 0x46b500
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 0xc
cmp dword [ebp - 0x2e4], 0
je 0x4415f1
push 0x46b53c
push 0x26f
push 0x46b540
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 8
push str._____________________
push 0x271
push 0x46b5a8
call fcn.0043d410
add esp, 8
push eax
call fcn.0043c830
add esp, 8
mov ecx, dword [ebp + 0x10]
mov dx, word [ebp - 0x230]
mov word [ecx], dx
mov byte [ebp - 0xa8f], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x25c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov al, byte [ebp - 0xa8f]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043ad38
mov esp, ebp
pop ebp
ret