Function at 0x4105b0
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xac
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov eax, dword [eax + 4]
and eax, 1
mov dword [esp + 0x34], eax
call fcn.004575f0
test eax, eax
je 0x411530
mov eax, dword [esp + 0x34]
test eax, eax
je 0x410890
mov ebp, edi
mov ecx, edi
shr ebp, 0x14
and ecx, 1
and ebp, 3
mov dword [esp + 0x40], ebp
je 0x410616
test cl, cl
jne 0x4118c0
mov eax, dword [esp + 0xc8]
mov ebx, dword [eax]
test ebx, ebx
je 0x4115c0
mov eax, dword [esp + 0xc0]
and ecx, 1
mov dword [ebx + 4], 0
mov dword [ebx + 0xc], 0
mov dword [ebx], eax
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x18], ecx
xor eax, 1
mov dword [ebx + 8], eax
test edi, 2
je 0x41065a
or dword [ebx + 0x18], 2
test edi, 8
je 0x410666
or dword [ebx + 0x18], 4
test edi, 0x4000
je 0x410672
or dword [ebx + 0x18], 8
test edi, 0x20000
je 0x41067e
or dword [ebx + 0x18], 0x10
test edi, 0x40000
je 0x41068a
or dword [ebx + 0x18], 0x20
test edi, 0x800000
je 0x410696
or dword [ebx + 0x18], 0x40
test edi, 0x1000000
je 0x4106a5
or dword [ebx + 0x18], 0x80
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x14], eax
lea eax, [ebx + 0x88]
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x80], 0
mov dword [ebx + 0x84], 0
mov dword [ebx + 0x88], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 4
mov dword [esp + 4], 8
mov dword [esp], 0x20
call fcn.0042a800
mov esi, eax
mov eax, edx
mov ebp, edx
or eax, esi
jne 0x411330
mov eax, dword [ebx + 0x8c]
mov ebp, dword [esp + 0x34]
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0xe8], 0
mov dword [eax + 0xec], 0
test ebp, ebp
jne 0x41078c
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004153f0
mov esi, eax
mov eax, edx
mov ebp, edx
or eax, esi
jne 0x411491
lea eax, [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call fcn.0040c0c0
mov esi, eax
mov eax, edx
mov ebp, edx
or eax, esi
je 0x410993
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0041d490
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
mov dword [esp + 0x40], eax
call edi
mov edx, dword [esp + 0x40]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 0x10], edx
mov dword [esp + 4], str.__s__Failed_to_read_boot_sector_from_exFAT_volume:__lu___s_
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp + 0x5c], 0
mov dword [ebx + 0xc], 1
mov eax, dword [esp + 0x34]
test eax, eax
je 0x411460
mov edx, dword [ebx + 0x88]
test edx, edx
je 0x410861
add ebx, 0x88
mov dword [esp], ebx
call fcn.0042b350
mov eax, dword [esp + 0x58]
test eax, eax
je 0x410879
lea edx, [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0041d440
add esp, 0xac
mov eax, esi
mov edx, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
lea ebx, [esp + 0x6c]
mov dword [esp + 4], 0x105
mov dword [esp + 8], ebx
mov dword [esp], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
call fcn.00427280
mov esi, eax
mov eax, edx
mov ebp, edx
or eax, esi
jne 0x4113e0
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x70]
mov byte [eax + 0x104], 0
mov dword [esp + 0xc], eax
lea eax, [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x104
mov dword [esp], eax
call fcn.00415b60
mov dword [esp + 4], ebx
mov esi, eax
mov eax, dword [esp + 0x6c]
mov ebp, edx
mov dword [esp], eax
call fcn.0041d440
mov eax, ebp
or eax, esi
jne 0x411a35
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4105fb
mov esi, 0x10
xor ebp, ebp
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x411610
lea edx, [esp + 0x5c]
mov dword [esp], eax
xor ebx, ebx
mov dword [esp + 4], edx
call fcn.0041d440
mov eax, dword [esp + 0xc0]
test byte [eax + 4], 1
jne 0x411471
test ebx, ebx
je 0x410861
mov edx, dword [ebx + 0x88]
test edx, edx
jne 0x410853
jmp 0x410861
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], 0
mov dword [esp + 0x64], 0
mov dword [esp], eax
mov dword [esp + 0x40], eax
call fcn.00434300
mov esi, eax
mov eax, edx
mov ebp, edx
or eax, esi
jne 0x411830
and edi, 4
jne 0x4109d4
mov eax, dword [esp + 0x40]
test byte [eax + 0x6a], 4
jne 0x411b50
mov eax, dword [esp + 0x40]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.00434720
mov esi, eax
mov eax, edx
mov ebp, edx
or eax, esi
jne 0x411710
test byte [ebx + 0x18], 1
je 0x4116d0
mov esi, dword [esp + 0x40]
movzx eax, byte [esi + 0x69]
mov byte [ebx + 0x20], al
movzx eax, byte [esi + 0x68]
mov byte [ebx + 0x21], al
mov eax, dword [esi + 0x64]
mov edx, eax
mov word [ebx + 0x24], ax
shr edx, 0x10
mov word [ebx + 0x22], dx
movzx edx, byte [esi + 0x6e]
lea eax, [edx - 1]
mov byte [ebx + 0x40], dl
cmp al, 1
ja 0x411a70
mov eax, dword [esp + 0x40]
movzx eax, word [eax + 0x6a]
mov byte [ebx + 0x41], al
and byte [ebx + 0x41], 1
cmp word [ebx + 0x40], 0x100
je 0x411bd4
mov edi, dword [esp + 0x40]
shr ax, 1
and eax, 1
movzx ecx, byte [edi + 0x6c]
mov byte [ebx + 0x28], cl
movzx esi, byte [edi + 0x6d]
mov dword [ebx + 0x50], 0xffffffff
add esi, ecx
mov dword [ebx + 0x4c], 0xffffffff
mov edx, esi
mov byte [ebx + 0x30], dl
mov edx, 1
mov ebp, edx
shl ebp, cl
mov ecx, esi
mov esi, dword [edi + 0x58]
shl edx, cl
mov ecx, edi
mov word [ebx + 0x26], bp
mov dword [ebx + 0x2c], edx
mov edx, dword [edi + 0x50]
mov dword [ebx + 0x44], edx
mov edx, dword [edi + 0x54]
mov dword [ebx + 0x58], esi
mov esi, dword [edi + 0x5c]
mov dword [ebx + 0x48], edx
mov edx, dword [ecx + 0x60]
mov dword [ebx + 0x60], esi
mov esi, dword [edi + 0x48]
mov edi, dword [edi + 0x4c]
mov dword [ebx + 0x6c], edx
mov edx, dword [ebx + 0x8c]
mov dword [ebx + 0x38], esi
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x5c], 0
mov dword [ebx + 0x64], 0
mov dword [ebx + 0x3c], edi
mov dword [edx + 8], eax
lea eax, [ebx + 0x54]
mov dword [edx + 0xc], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00446f40
mov esi, eax
mov eax, edx
mov ebp, edx
or eax, esi
jne 0x4119b4
lea eax, [ebx + 0x70]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x60]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x6c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
call fcn.00447880
mov esi, eax
mov eax, edx
mov ebp, edx
or eax, esi
jne 0x411b80
lea eax, [esp + 0x64]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0044a820
mov esi, eax
mov eax, edx
mov ebp, edx
or eax, esi
jne 0x411c95
mov eax, dword [esp + 0x64]
mov edx, dword [eax + 0xc]
lea ecx, [edx + 8]
cmp eax, ecx
jne 0x411bf8
movzx ecx, byte [ebx + 0x41]
mov eax, dword [ebx + 0x8c]
mov dword [ebx + 0x84], edx
test cl, cl
lea ebp, [eax + 0xc8]
lea edi, [eax + 0xa8]
setne byte [esp + 0x40]
sete byte [esp + 0x38]
je 0x411c8b
lea ecx, [eax + 0x68]
xor esi, esi
add eax, 0x88
mov dword [esp + 0x78], esi
movzx esi, byte [esp + 0x38]
mov dword [esp + 0x74], eax
movzx eax, byte [esp + 0x9c]
mov dword [esp + 0x7c], ecx
movzx ecx, byte [esp + 0x40]
add esi, esi
and eax, 0xfffffff9
mov dword [esp], edx
or eax, esi
shl ecx, 2
mov dword [esp + 0x84], ebp
or ecx, eax
mov dword [esp + 0x80], edi
mov byte [esp + 0x9c], cl
movzx eax, word [esp + 0x9c]
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
and ax, 0xfc06
mov dword [esp + 0x90], 0
or eax, 0x11
mov word [esp + 0x9c], ax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
call fcn.00455cd0
mov ebp, edx
or edx, eax
mov esi, eax
mov dword [esp + 0x40], edx
jne 0x411da3
movzx edi, byte [esp + 0x9d]
mov edx, dword [esp + 0x40]
mov eax, dword [ebx + 0x8c]
test edi, 2
mov ecx, edx
cmovne ecx, dword [esp + 0x98]
mov esi, edx
mov dword [eax + 0x44], ecx
mov ecx, edi
shr cl, 1
and ecx, 1
mov dword [eax + 0x30], ecx
movzx ecx, byte [esp + 0x9c]
mov edx, ecx
test cl, 0x40
cmovne esi, dword [esp + 0x8c]
shr dl, 6
mov ebp, edx
mov dword [eax + 0x34], esi
and ebp, 1
test cl, cl
mov edx, ebp
movzx esi, dl
mov edx, ecx
mov dword [eax + 0x20], esi
mov esi, dword [esp + 0x40]
cmovs esi, dword [esp + 0x90]
shr dl, 7
test cl, 0x20
mov byte [esp + 0x38], dl
mov dword [eax + 0x38], esi
movzx esi, dl
mov edx, dword [esp + 0x40]
mov dword [eax + 0x24], esi
mov esi, edx
cmovne esi, dword [esp + 0x88]
shr cl, 5
and ecx, 1
mov dword [eax + 0x28], ecx
mov ecx, edi
and ecx, 1
cmovne edx, dword [esp + 0x94]
mov dword [eax + 0x3c], esi
movzx ecx, cl
mov dword [eax + 0x40], edx
mov dword [eax + 0x2c], ecx
movzx edx, byte [ebx + 0x41]
test dl, dl
jne 0x411cd9
mov ecx, ebp
add eax, 0x48
test cl, cl
je 0x411ce7
mov esi, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
mov ebp, dword [eax + 0x1c]
mov eax, 0x20000000
cmp eax, esi
mov eax, 0
mov dword [ebx + 0x74], edx
sbb eax, ebp
jb 0x411d6f
lea eax, [ebx + 0x7c]
mov dword [ebx + 0x78], esi
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0042efd0
mov esi, eax
mov eax, edx
mov ebp, edx
or eax, esi
jne 0x411de7
lea eax, [esp + 0x60]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x7c]
mov dword [esp], eax
call fcn.0042dfc0
mov esi, eax
mov eax, edx
mov ebp, edx
or eax, esi
jne 0x411e2b
mov eax, dword [ebx + 0x60]
sub eax, dword [esp + 0x60]
mov dword [ebx + 0x68], eax
mov eax, dword [ebx + 0x8c]
mov edi, dword [eax + 0x30]
test edi, edi
je 0x410f30
movzx ecx, byte [eax + 0xc9]
mov dword [esp + 0x74], 0
mov dword [ebx + 0x10], 0
cmp cl, 0xf
jbe 0x411e6f
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x40], ecx
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x40]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], 0x4a9bc4
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov ecx, 0x16
xor edx, edx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
call fcn.0041d490
mov dword [esp], 2
mov dword [esp + 0x38], eax
call edi
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], 0x4a9c20
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov eax, dword [ebx + 0x18]
mov edx, dword [esp + 0x44]
test al, 1
je 0x411a18
mov dword [esp], 2
call edi
mov dword [esp + 8], 0x4a9540
mov dword [esp + 4], 0x4a9c50
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
lea eax, [ebx + 0x10]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], 1
mov dword [esp], 0
mov dword [esp + 8], eax
call fcn.00427280
mov edi, eax
mov eax, edx
or eax, edi
jne 0x412132
mov eax, dword [ebx + 0x10]
mov byte [eax], 0
mov eax, dword [ebx + 0x8c]
cmp dword [eax + 0x8c], 0xe619d30d
mov dword [esp + 0x44], eax
je 0x411f46
mov eax, dword [esp + 0x44]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov edx, dword [eax + 0xa4]
mov eax, dword [eax + 0xa0]
mov dword [esp + 0x70], 0
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
and eax, 1
jne 0x4123d7
mov edx, 0x1fffe
cmp edx, dword [esp + 0x38]
sbb eax, dword [esp + 0x3c]
jb 0x4122cd
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x70]
mov dword [esp], 0
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp + 0x48], ecx
call fcn.00427280
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x40], eax
or eax, edx
jne 0x41240b
lea eax, [esp + 0x6c]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x4c], ecx
add eax, 0x88
mov dword [esp + 4], eax
call fcn.0042fda0
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
or eax, edx
mov dword [esp + 0x48], edx
je 0x412368
mov dword [esp + 0x38], ecx
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__Failed_to_create_cluster_stream_with_upcase_record.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4110b9
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x38], edx
call fcn.0041d440
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp + 0x44], edx
mov dword [esp], eax
call fcn.0041d490
mov dword [esp], 2
mov dword [esp + 0x38], eax
call edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__Failed_to_read_upcase_table_data:__lu___s_
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x68]
test eax, eax
je 0x411160
lea ecx, [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 0x38], edx
call fcn.0041d440
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
or eax, edx
jne 0x411f75
mov eax, dword [ebx + 0x80]
test eax, eax
je 0x41207a
mov eax, dword [ebx + 0x8c]
add eax, 0x18
mov dword [esp + 8], eax
movzx eax, byte [ebx + 0x28]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.0040c3f0
mov edi, eax
mov eax, edx
or eax, edi
je 0x4112a4
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x44], edx
call fcn.0041d490
mov dword [esp + 0x40], edi
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x38], eax
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], 0x4a9fac
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov eax, dword [ebx + 0x8c]
test byte [ebx + 0x18], 1
mov edx, dword [esp + 0x44]
mov dword [eax + 0x18], 0
je 0x41235d
mov dword [esp], 2
call edi
mov dword [esp + 8], 0x4a9540
mov dword [esp + 4], 0x4a9fe4
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov eax, dword [ebx + 0x8c]
add eax, 0x1c
mov dword [esp + 8], eax
movzx eax, byte [ebx + 0x28]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.0040c4c0
mov edi, eax
mov eax, edx
or eax, edi
jne 0x4121c6
mov eax, dword [ebx + 0x18]
test al, 5
jne 0x411a00
mov edi, dword [ebx + 0x1c]
test edi, edi
jne 0x411a00
test al, 1
jne 0x411a00
mov eax, ebx
call fcn.004104d0
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0xc], 1
test eax, eax
je 0x411313
lea ecx, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0041d440
mov eax, dword [esp + 0xc8]
mov edx, ebp
mov dword [eax], ebx
add esp, 0xac
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0041d490
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x40], eax
call edi
mov edx, dword [esp + 0x40]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 0x10], edx
mov dword [esp + 4], 0x4a97c8
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4113c5
lea edx, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0041d440
mov ecx, dword [esp + 0x34]
test ecx, ecx
jne 0x410978
jmp 0x410967
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0041d490
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
mov edi, eax
call ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], 0x4a96e0
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call ebx
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebx
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x410949
mov eax, dword [esp + 0xc0]
test byte [eax + 4], 1
je 0x410849
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call fcn.004155c0
mov edi, eax
mov eax, edx
or eax, edi
je 0x410978
jmp 0x41163e
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0041d490
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x40], eax
call edi
mov edx, dword [esp + 0x40]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 0x10], edx
mov dword [esp + 4], 0x4a97f8
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0xc], 1
test eax, eax
jne 0x4113b5
jmp 0x41083d
mov ebx, dword [fcn.004a1b90]
mov dword [esp], 2
mov esi, 6
xor ebp, ebp
call ebx
mov dword [esp + 0x14], str.exfat_volume_create
mov dword [esp + 0x10], 0x88a
mov dword [esp + 0xc], 0x4a967d
mov dword [esp + 8], 0x4a9686
mov dword [esp + 4], 0x4a9690
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call ebx
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebx
xor ebx, ebx
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x4113ad
lea eax, [esp + 0x58]
mov dword [esp + 4], 0x180
mov dword [esp + 8], eax
mov dword [esp], 0
mov byte [esp + 0x38], cl
call fcn.00427280
movzx ecx, byte [esp + 0x38]
mov esi, eax
mov eax, edx
mov ebp, edx
or eax, esi
jne 0x411b00
mov ebx, dword [esp + 0x58]
lea eax, [ebx + 0x90]
mov dword [ebx + 0x90], ebx
mov dword [ebx + 0x8c], eax
jmp 0x410627
mov eax, dword [esp + 0xc0]
test byte [eax + 4], 1
je 0x410861
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
call fcn.004155c0
mov edi, eax
mov eax, edx
or eax, edi
je 0x410861
xor ebx, ebx
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.0041d490
mov ecx, dword [fcn.004a1b90]
mov dword [esp], 2
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], ecx
call ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 0x10], edx
mov dword [esp + 4], 0x4aa0ec
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov ecx, dword [esp + 0x34]
mov dword [esp], 2
call ecx
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
mov ecx, dword [esp + 0x34]
call ecx
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x410978
mov eax, dword [esp + 0x40]
movzx eax, word [eax + 0x6a]
test al, 8
je 0x410a06
mov ecx, dword [esp + 0x40]
and eax, 0xfffffff7
mov word [ecx + 0x6a], ax
mov dword [esp + 4], ecx
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.0040c180
mov esi, eax
mov eax, edx
mov ebp, edx
or eax, esi
je 0x410a06
mov esi, esi
lea edi, [edi]
mov dword [esp + 0x40], esi
mov edi, dword [fcn.004a1b90]
mov eax, dword [ebx + 0x8c]
mov edx, dword [eax + 0xec]
test edx, edx
je 0x411741
add eax, 0xec
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0041d440
mov eax, dword [ebx + 0x8c]
mov edx, dword [eax + 0x1c]
test edx, edx
je 0x41175d
add eax, 0x1c
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0041d440
mov eax, dword [ebx + 0x8c]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x411773
add eax, 0x18
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0041d440
mov eax, dword [ebx + 0x80]
test eax, eax
je 0x41178f
lea edx, [ebx + 0x80]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0041d440
mov eax, dword [esp + 0x64]
test eax, eax
je 0x4117af
lea eax, [esp + 0x64]
mov dword [esp], eax
call fcn.0044a720
mov ecx, eax
mov eax, edx
or eax, ecx
jne 0x411930
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x4117c5
lea edx, [ebx + 0x10]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0041d440
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x4117d7
lea eax, [ebx + 0x7c]
mov dword [esp], eax
call fcn.0042f200
mov eax, dword [ebx + 0x54]
test eax, eax
je 0x4117e9
lea eax, [ebx + 0x54]
mov dword [esp], eax
call fcn.004473a0
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0041d490
mov dword [esp], 2
mov dword [esp + 0x38], eax
call edi
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], 0x4aa118
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
jmp 0x4114cc
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0041d490
mov dword [esp + 0x40], esi
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x38], eax
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 0x10], edx
mov dword [esp + 4], str.__s__exfat_check_validate_boot_sector_returned_error:__lu___s_
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov eax, dword [ebx + 0x8c]
jmp 0x411720
mov ebx, dword [fcn.004a1b90]
mov dword [esp], 2
mov esi, 0x16
xor ebp, ebp
call ebx
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], 0x4a976c
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call ebx
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebx
xor ebx, ebx
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x4113ad
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x44], ecx
call fcn.0041d490
mov dword [esp], 2
mov dword [esp + 0x38], eax
call edi
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], 0x4aa0b0
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x4117af
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0041d490
mov dword [esp + 0x40], esi
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x38], eax
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 0x10], edx
mov dword [esp + 4], 0x4a99d0
jmp 0x41186f
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0xc], 1
test eax, eax
jne 0x411303
jmp 0x411313
mov ecx, dword [esp + 0x40]
or ecx, edx
je 0x4112d2
mov esi, dword [esp + 0x40]
mov ebp, edx
mov eax, dword [ebx + 0x8c]
jmp 0x411720
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0041d490
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
mov edi, eax
call ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], 0x4a9724
jmp 0x411415
mov byte [esp + 0x40], dl
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
movzx edx, byte [esp + 0x40]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__Boot_sector_field_number_of_fats_contains_an_invalid_value:__u
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
mov esi, 0x16
xor ebp, ebp
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp + 0x40], 0x16
mov eax, dword [ebx + 0x8c]
jmp 0x411720
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0041d490
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x40], eax
call edi
mov edx, dword [esp + 0x40]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x180
mov dword [esp + 0x14], edx
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], 0x4a979c
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x411373
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__Refusing_to_mount:_An_unhandled_media_failure_has_been_previously_reported_for_this_volume._Run_chkdsk__r_before_attempting_to_mount_this_volume.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x411aa4
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0041d490
mov dword [esp + 0x40], esi
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x38], eax
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x4a99fc
mov dword [esp + 0x14], edx
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], 0x4a9a35
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x411877
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__Boot_sector_specifies_the_use_of_a_second_FAT__but_there_is_only_one.
jmp 0x411b6f
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
mov esi, 6
xor ebp, ebp
call edi
mov dword [esp + 0x14], str.exfat_volume_init_cached_values
mov dword [esp + 0x10], 0x605
mov dword [esp + 0xc], 0x4a967d
mov dword [esp + 8], 0x4a9686
mov dword [esp + 4], 0x4a9a84
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp + 0x40], 6
mov eax, dword [ebx + 0x8c]
jmp 0x411720
lea esi, [eax + 0x48]
xor ecx, ecx
jmp 0x410bb6
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0041d490
mov dword [esp + 0x40], esi
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x38], eax
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 0x10], edx
mov dword [esp + 4], 0x4a9a48
jmp 0x41186f
add eax, 0x68
cmp byte [esp + 0x38], 0
jne 0x410d2d
mov edi, dword [fcn.004a1b90]
mov byte [esp + 0x40], dl
mov esi, 5
xor ebp, ebp
mov dword [esp], 2
call edi
movzx edx, byte [esp + 0x40]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__No_record_for_the_active_bitmap___d__found_in_root_directory.
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp + 0x40], 5
mov eax, dword [ebx + 0x8c]
jmp 0x411720
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__Volume_bitmap_size_out_of_bounds:__I64u
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x411aa4
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0041d490
mov dword [esp + 0x40], esi
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x38], eax
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 0x10], edx
mov dword [esp + 4], 0x4a9ab4
jmp 0x41186f
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0041d490
mov dword [esp + 0x40], esi
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x38], eax
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 0x10], edx
mov dword [esp + 4], 0x4a9b64
jmp 0x41186f
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0041d490
mov dword [esp + 0x40], esi
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x38], eax
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a9606
mov dword [esp + 0x10], edx
mov dword [esp + 4], str.__s__Error_while_counting_allocations:__lu___s_
jmp 0x41186f
lea edx, [esp + 0x74]
add eax, 0xca
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
lea edx, [ebx + 0x10]
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 0x40], edx
call fcn.00428940
mov ecx, eax
mov eax, edx
or eax, ecx
je 0x410f65
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
call fcn.0041d490
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
mov dword [esp + 0x38], eax
call edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], 0x4a9bec
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x38], ecx
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov eax, ecx
xor eax, 2
or eax, edx
jne 0x410e43
jmp 0x410f37
lea eax, [esp + 0x74]
mov dword [esp + 0x74], 0
mov dword [esp], eax
call fcn.00409e40
mov dword [esp + 0x40], eax
or eax, edx
jne 0x41249e
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x80], eax
jmp 0x411160
mov edi, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp + 0x44], edx
mov dword [esp], edi
call fcn.0041d490
mov dword [esp + 0x40], edi
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x38], eax
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__Could_not_read_upcase_table_for_volume:__lu___s_
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
test byte [ebx + 0x18], 1
mov edx, dword [esp + 0x44]
mov dword [ebx + 0x80], 0
je 0x411a24
mov dword [esp], 2
call edi
mov dword [esp + 8], 0x4a9540
mov dword [esp + 4], 0x4a9c50
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x41116c
lea eax, [ebx + 0x80]
mov dword [esp], eax
call fcn.00409e40
mov edi, eax
mov eax, edx
or eax, edi
je 0x41117a
mov dword [esp + 4], edx
mov ebp, edi
mov dword [esp], edi
mov dword [esp + 0x38], edx
call fcn.0041d490
mov dword [esp + 0x40], edi
mov edi, dword [fcn.004a1b90]
mov esi, eax
mov dword [esp], 2
call edi
mov dword [esp + 0x10], esi
mov esi, ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], 0x4a9f6c
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov edx, dword [esp + 0x38]
mov eax, dword [ebx + 0x8c]
mov dword [ebx + 0x80], 0
mov ebp, edx
jmp 0x411720
mov dword [esp + 4], edx
mov ebp, edi
mov dword [esp], edi
mov dword [esp + 0x38], edx
call fcn.0041d490
mov dword [esp + 0x40], edi
mov edi, dword [fcn.004a1b90]
mov esi, eax
mov dword [esp], 2
call edi
mov dword [esp + 0x10], esi
mov esi, ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], 0x4a9c98
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov edx, dword [esp + 0x38]
mov eax, dword [ebx + 0x8c]
mov ebp, edx
jmp 0x411720
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x44], edx
call fcn.0041d490
mov dword [esp + 0x40], edi
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x38], eax
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], 0x4aa028
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov eax, dword [ebx + 0x8c]
test byte [ebx + 0x18], 1
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x1c], 0
je 0x412485
mov dword [esp], 2
call edi
mov dword [esp + 8], 0x4a9540
mov dword [esp + 4], 0x4aa064
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov eax, dword [ebx + 0x18]
jmp 0x4112d2
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__Volume_inconsistency___Size_of_upcase_table_out_of_bounds_for_16_bit_range:__I64u
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x70]
xor edx, edx
lea ecx, [esp + 0x70]
mov dword [esp + 0x40], 5
test eax, eax
jne 0x4110a5
jmp 0x4110b9
mov esi, dword [esp + 0x40]
mov ebp, edx
jmp 0x411720
lea eax, [esp + 0x74]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.00432f20
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x40], eax
or eax, edx
je 0x412530
lea eax, [esp + 0x6c]
mov dword [esp + 0x44], ecx
mov dword [esp], eax
mov dword [esp + 0x38], edx
call fcn.0042ff80
mov edi, dword [fcn.004a1b90]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
jmp 0x41109d
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__Volume_inconsistency___Uneven_upcase_table_size:__I64u
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
jmp 0x4122fc
mov dword [esp + 0x44], edx
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__Failed_to_allocate__Iu_bytes_for_raw_upcase_table_data.
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
jmp 0x41109d
mov edx, dword [eax + 0xec]
mov esi, dword [esp + 0x40]
mov ebp, ecx
test edx, edx
jne 0x41172a
jmp 0x41175d
mov eax, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp + 0x44], edx
mov dword [esp], eax
call fcn.0041d490
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
mov dword [esp + 0x38], eax
call edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__Error_while_getting_default_upcase_table:__lu___s_
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov edx, dword [esp + 0x44]
jmp 0x411160
cmp dword [esp + 0x3c], 0
mov edx, dword [esp + 0x74]
je 0x4126f4
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x40], edx
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__Could_not_read_requested_amount_of_raw_upcase_table_data._Requested:__I64u_bytes__Read:__Iu_bytes
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
xor edi, edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
lea eax, [esp + 0x6c]
mov dword [esp], eax
call fcn.0042ff80
lea eax, [edi + edi]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.00409f10
mov ecx, eax
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 0x8c]
cmp ecx, edx
je 0x412679
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x38], edx
mov dword [esp + 0x40], ecx
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__Incorrect_checksum_for_upcase_table__Expected:_0x_lX__Calculated:_0x_lX
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a95ae
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp + 0x40], 5
xor edx, edx
jmp 0x411140
lea eax, [esp + 0x74]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.00409b50
mov dword [esp + 0x40], eax
or eax, edx
jne 0x4126a8
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x80], eax
jmp 0x411140
mov eax, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp + 0x44], edx
mov dword [esp], eax
call fcn.0041d490
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x38], eax
call edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], 0x4a9606
mov dword [esp + 4], str.__s__Failed_to_decompress_table:__lu___s_
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xc], ecx
jmp 0x4110fa
cmp dword [esp + 0x38], edx
jne 0x41253f
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x38]
shrd eax, edx, 1
movzx edi, ax
jmp 0x4125be