Function at 0x433710
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x47293b
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4f8028]
xor eax, esp
push eax
lea eax, [esp + 0xbc]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xcc]
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0xc4], eax
mov ecx, dword [ebp + 0x234]
mov esi, dword [ebp + 0x240]
mov dword [esp + 0x64], ecx
mov ecx, dword [ebp + 0x254]
xor ebx, ebx
xor edi, edi
cmp ecx, 2
mov dword [esp + 0x74], esi
jne 0x4339de
push edi
push 0x200
push edi
push esi
call sub.ntdll.dll__allmul
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
fild qword [esp + 0x34]
fdiv qword [0x4ed348]
fsub qword [0x4ed398]
call fcn.0046e506
mov dword [esp + 0x20], edx
mov edx, esi
shl edx, 9
push edx
mov dword [esp + 0x20], eax
call sub.MFC80U.DLL_Ordinal_265
mov ecx, dword [esp + 0x68]
add esp, 4
push edi
mov edi, dword [ebp + 0x208]
push esi
push ebx
push ecx
push eax
mov dword [esp + 0x44], eax
call fcn.004326f0
add esp, 0x14
test eax, eax
jne 0x43383b
call fcn.004205a0
mov edi, eax
mov esi, dword [edi]
push 0x1be
mov ecx, str.._fatcnvvol.cpp
add esi, 8
call fcn.004325c0
mov edx, dword [esi]
add esp, 4
push eax
push str._s:_Failed_to_read_sector_for_FAT12_FatTable_
push edi
call edx
mov eax, dword [esp + 0x3c]
add esp, 0xc
push eax
call sub.MFC80U.DLL_Ordinal_266
mov dword [esp + 0xc8], 0xffffffff
mov eax, dword [esp + 0x4c]
add esp, 4
test eax, eax
je 0x433834
push eax
call sub.MFC80U.DLL_Ordinal_764
add esp, 4
xor eax, eax
jmp 0x434060
xor esi, esi
xor ebx, ebx
cmp dword [esp + 0x20], esi
lea edi, [esi + 2]
mov dword [esp + 0x38], esi
mov dword [esp + 0x18], esi
jb 0x433919
ja 0x433860
cmp dword [esp + 0x1c], esi
jbe 0x433919
mov dword [esp + 0x2c], 0x18
jmp 0x433870
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
shr ecx, 3
test byte [esp + 0x18], 1
mov dx, word [ecx + eax]
je 0x43388c
shr dx, 4
jmp 0x433891
and dx, 0xfff
movzx eax, dx
cmp ax, 0xff7
jne 0x4338b6
test ebx, ebx
jl 0x4338ea
jg 0x4338a4
test esi, esi
jbe 0x4338ea
mov eax, edi
sub eax, esi
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], esi
lea ebx, [esp + 0x54]
jmp 0x4338dd
test ax, ax
je 0x4338c3
add esi, 1
adc ebx, 0
jmp 0x4338ea
test ebx, ebx
jl 0x4338ea
jg 0x4338cd
test esi, esi
jbe 0x4338ea
mov ecx, edi
sub ecx, esi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], esi
lea ebx, [esp + 0x3c]
lea esi, [esp + 0x44]
call fcn.00434080
xor esi, esi
xor ebx, ebx
mov eax, dword [esp + 0x18]
add edi, 1
adc dword [esp + 0x38], 0
add dword [esp + 0x2c], 0xc
add eax, 1
mov dword [esp + 0x18], eax
cdq
cmp edx, dword [esp + 0x20]
jb 0x433870
ja 0x433919
cmp eax, dword [esp + 0x1c]
jb 0x433870
mov edx, dword [esp + 0x30]
push edx
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
test ebx, ebx
jl 0x433947
jg 0x433930
test esi, esi
jbe 0x433947
sub edi, esi
mov dword [esp + 0x70], esi
lea ebx, [esp + 0x6c]
lea esi, [esp + 0x44]
mov dword [esp + 0x6c], edi
call fcn.00434080
xor edx, edx
mov eax, dword [esp + 0x48]
test eax, eax
mov dword [esp + 0x18], edx
je 0x434043
mov ecx, dword [esp + 0x4c]
sub ecx, eax
sar ecx, 3
cmp edx, ecx
jae 0x434043
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov edx, dword [esp + 0x74]
mov ebx, dword [ebp + 0x230]
mov dword [esp + 0x60], eax
xor eax, eax
push eax
push edx
lea esi, [ecx - 2]
mov ecx, dword [ebp + 0x23c]
imul esi, ebx
push eax
push ecx
xor edi, edi
call sub.ntdll.dll__allmul
add esi, eax
mov eax, dword [ebp + 0x24c]
adc edi, edx
shl eax, 5
shr eax, 9
xor ecx, ecx
add esi, eax
adc edi, ecx
add esi, dword [esp + 0x64]
mov eax, ecx
adc edi, eax
imul ebx, dword [esp + 0x60]
push eax
push ebx
push edi
push esi
push ebp
call fcn.004330c0
cmp dword [ebp + 0x260], 0
jne 0x43403f
mov edx, dword [esp + 0x18]
add edx, 1
jmp 0x433949
cmp ecx, 3
jne 0x433c1a
push 0
push 0x200
push edi
push esi
call sub.ntdll.dll__allmul
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
fild qword [esp + 0x6c]
fmul qword [0x4ed330]
fsub qword [0x4ed398]
call fcn.0046e506
mov dword [esp + 0x20], edx
mov edx, esi
shl edx, 9
push edx
mov dword [esp + 0x20], eax
call sub.MFC80U.DLL_Ordinal_265
mov ecx, dword [esp + 0x68]
add esp, 4
push edi
mov edi, dword [ebp + 0x208]
push esi
push ebx
push ecx
push eax
mov dword [esp + 0x40], eax
call fcn.004326f0
add esp, 0x14
test eax, eax
jne 0x433a79
call fcn.004205a0
mov edi, eax
mov esi, dword [edi]
push 0x21a
mov ecx, str.._fatcnvvol.cpp
add esi, 8
call fcn.004325c0
mov edx, dword [esi]
add esp, 4
push eax
push str._s:_Failed_to_read_sector_for_FAT16_FatTable_
push edi
call edx
mov eax, dword [esp + 0x38]
jmp 0x43380c
xor esi, esi
xor ebx, ebx
cmp dword [esp + 0x20], esi
lea edi, [esi + 2]
mov dword [esp + 0x38], esi
mov dword [esp + 0x28], esi
jb 0x433b4c
ja 0x433a9e
cmp dword [esp + 0x1c], esi
jbe 0x433b4c
mov ecx, dword [esp + 0x2c]
add ecx, 4
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x18]
movzx eax, word [edx]
movsx ecx, ax
cmp ecx, 0xfff7
jne 0x433ae0
test ebx, ebx
jl 0x433b1d
jg 0x433ac5
test esi, esi
jbe 0x433b1d
mov edx, edi
sub edx, esi
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], esi
lea ebx, [esp + 0xa0]
jmp 0x433b10
test ax, ax
je 0x433aed
add esi, 1
adc ebx, 0
jmp 0x433b1d
test ebx, ebx
jl 0x433b1d
jg 0x433af7
test esi, esi
jbe 0x433b1d
mov eax, edi
sub eax, esi
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], esi
lea ebx, [esp + 0xb0]
lea esi, [esp + 0x44]
call fcn.00434080
xor esi, esi
xor ebx, ebx
mov eax, dword [esp + 0x28]
add edi, 1
adc dword [esp + 0x38], 0
add dword [esp + 0x18], 2
add eax, 1
mov dword [esp + 0x28], eax
cdq
cmp edx, dword [esp + 0x20]
jb 0x433aa9
ja 0x433b4c
cmp eax, dword [esp + 0x1c]
jb 0x433aa9
mov ecx, dword [esp + 0x2c]
push ecx
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
test ebx, ebx
jl 0x433b83
jg 0x433b63
test esi, esi
jbe 0x433b83
sub edi, esi
mov dword [esp + 0x8c], esi
lea ebx, [esp + 0x88]
lea esi, [esp + 0x44]
mov dword [esp + 0x88], edi
call fcn.00434080
xor edx, edx
mov eax, dword [esp + 0x48]
test eax, eax
mov dword [esp + 0x18], edx
je 0x434043
mov ecx, dword [esp + 0x4c]
sub ecx, eax
sar ecx, 3
cmp edx, ecx
jae 0x434043
mov ecx, dword [eax + edx*8]
mov edx, dword [eax + edx*8 + 4]
mov ebx, dword [ebp + 0x230]
xor eax, eax
push eax
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x78]
push edx
lea esi, [ecx - 2]
mov ecx, dword [ebp + 0x23c]
imul esi, ebx
push eax
push ecx
xor edi, edi
call sub.ntdll.dll__allmul
add esi, eax
mov eax, dword [ebp + 0x24c]
adc edi, edx
shl eax, 5
shr eax, 9
xor ecx, ecx
add esi, eax
adc edi, ecx
add esi, dword [esp + 0x64]
mov eax, ecx
adc edi, eax
imul ebx, dword [esp + 0x60]
push eax
push ebx
push edi
push esi
push ebp
call fcn.004330c0
cmp dword [ebp + 0x260], 0
jne 0x43403f
mov edx, dword [esp + 0x18]
add edx, 1
jmp 0x433b85
cmp ecx, eax
jne 0x434043
push 0x40000
call sub.MFC80U.DLL_Ordinal_265
xor esi, esi
mov ebx, eax
mov eax, dword [ebp + 0x240]
add esp, 4
cmp eax, esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x28], 0x200
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x1c], 2
mov dword [esp + 0x20], esi
jbe 0x433dc2
mov ecx, dword [esp + 0x30]
sub eax, ecx
cmp eax, 0x200
jb 0x433d88
mov edi, dword [ebp + 0x208]
mov edx, ecx
xor ecx, ecx
add edx, dword [esp + 0x64]
push 0
mov eax, ecx
push 0x200
adc ecx, eax
push ecx
push edx
push ebx
call fcn.004326f0
add esp, 0x14
test eax, eax
je 0x433d96
xor ecx, ecx
cmp dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], 0x10000
jne 0x433cba
mov dword [esp + 0x3c], 0xfffe
xor edi, edi
cmp dword [esp + 0x3c], ecx
jbe 0x433d62
cmp dword [esp + 0x2c], ecx
mov eax, dword [ebx + edi*4]
jne 0x433cd3
mov eax, dword [ebx + edi*4 + 8]
cmp eax, 0xffffff7
jne 0x433d03
cmp dword [esp + 0x38], ecx
jl 0x433d4c
jg 0x433ce6
cmp esi, ecx
jbe 0x433d4c
mov edx, dword [esp + 0x1c]
sub edx, esi
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], esi
lea ebx, [esp + 0xa8]
jmp 0x433d37
cmp eax, ecx
je 0x433d10
add esi, 1
adc dword [esp + 0x38], ecx
jmp 0x433d4c
cmp dword [esp + 0x38], ecx
jl 0x433d4c
jg 0x433d1c
cmp esi, ecx
jbe 0x433d4c
mov eax, dword [esp + 0x1c]
sub eax, esi
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], esi
lea ebx, [esp + 0x98]
lea esi, [esp + 0x44]
call fcn.00434080
mov ebx, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0x38], esi
xor ecx, ecx
add dword [esp + 0x1c], 1
adc dword [esp + 0x20], ecx
add edi, 1
cmp edi, dword [esp + 0x3c]
jb 0x433cc6
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 0x240]
add ecx, 0x200
cmp ecx, eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], 1
jb 0x433c65
jmp 0x433dc2
mov eax, dword [ebp + 0x240]
sub eax, ecx
mov dword [esp + 0x28], eax
jmp 0x433dc2
call fcn.004205a0
mov ebx, eax
mov edi, dword [ebx]
push 0x27a
mov ecx, str.._fatcnvvol.cpp
add edi, 8
call fcn.004325c0
mov ecx, dword [edi]
add esp, 4
push eax
push str._s:_Failed_to_read_sector_for_FAT32_FatTable_
push ebx
call ecx
add esp, 0xc
mov edi, dword [esp + 0x28]
shl edi, 9
mov edx, edi
test edx, edx
mov dword [esp + 0x54], edx
fild dword [esp + 0x54]
jge 0x433ddd
fadd dword [0x4ed388]
fmul qword [0x4ed3a0]
fnstcw word [esp + 0x3c]
movzx eax, word [esp + 0x3c]
or eax, 0xc00
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x54], eax
fldcw word [esp + 0x54]
fistp qword [esp + 0x5c]
mov eax, dword [esp + 0x5c]
fldcw word [esp + 0x3c]
mov dword [esp + 0x3c], eax
jne 0x433e15
sub dword [esp + 0x3c], 2
push edi
call sub.MFC80U.DLL_Ordinal_265
add esp, 4
push edi
mov ebx, eax
push 0
push ebx
mov dword [esp + 0x60], ebx
call sub.ntdll.dll_memset
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
mov edi, dword [ebp + 0x208]
add esp, 0xc
push 0
push ecx
xor edx, edx
add eax, dword [esp + 0x6c]
mov ecx, edx
adc edx, ecx
push edx
push eax
push ebx
call fcn.004326f0
add esp, 0x14
test eax, eax
jne 0x433ed9
mov eax, 1
or edi, 0xffffffff
test byte [0x503544], al
jne 0x433e8d
or dword [0x503544], eax
push 0x4732e0
mov dword [0x503520], 0x4e7bc8
mov dword [0x503524], edi
call fcn.0046d920
add esp, 4
mov esi, dword [0x503520]
push 0x2c1
mov ecx, str.._fatcnvvol.cpp
add esi, 8
call fcn.004325c0
add esp, 4
push eax
mov eax, dword [esi]
push str._s:_Failed_to_read_sector_for_FAT32_FatTable_
push 0x503520
call eax
add esp, 0xc
push ebx
call sub.MFC80U.DLL_Ordinal_266
mov ecx, dword [esp + 0x1c]
add esp, 4
push ecx
call sub.MFC80U.DLL_Ordinal_266
mov dword [esp + 0xc8], edi
jmp 0x433820
mov edi, dword [esp + 0x38]
xor ecx, ecx
cmp dword [esp + 0x3c], ecx
mov dword [esp + 0x28], ecx
jbe 0x433f8d
lea ecx, [ecx]
cmp dword [esp + 0x2c], 0
mov eax, dword [ebx + ecx*4]
jne 0x433efe
mov eax, dword [ebx + ecx*4 + 8]
cmp eax, 0xffffff7
jne 0x433f2c
test edi, edi
jl 0x433f72
jg 0x433f0f
test esi, esi
jbe 0x433f72
mov edx, dword [esp + 0x1c]
sub edx, esi
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], esi
lea ebx, [esp + 0x80]
jmp 0x433f5d
test eax, eax
je 0x433f38
add esi, 1
adc edi, 0
jmp 0x433f72
test edi, edi
jl 0x433f72
jg 0x433f42
test esi, esi
jbe 0x433f72
mov eax, dword [esp + 0x1c]
sub eax, esi
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], esi
lea ebx, [esp + 0x90]
lea esi, [esp + 0x44]
call fcn.00434080
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x54]
xor esi, esi
xor edi, edi
add dword [esp + 0x1c], 1
adc dword [esp + 0x20], 0
add ecx, 1
cmp ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], ecx
jb 0x433ef0
push ebx
call sub.MFC80U.DLL_Ordinal_266
mov ecx, dword [esp + 0x1c]
add esp, 4
push ecx
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
test edi, edi
jl 0x433fc8
jg 0x433fad
test esi, esi
jbe 0x433fc8
mov eax, dword [esp + 0x1c]
sub eax, esi
mov dword [esp + 0x60], esi
lea ebx, [esp + 0x5c]
lea esi, [esp + 0x44]
mov dword [esp + 0x5c], eax
call fcn.00434080
xor edx, edx
mov eax, dword [esp + 0x48]
test eax, eax
mov dword [esp + 0x28], edx
je 0x434043
mov ecx, dword [esp + 0x4c]
sub ecx, eax
sar ecx, 3
cmp edx, ecx
jae 0x434043
mov ecx, dword [eax + edx*8]
mov ebx, dword [eax + edx*8 + 4]
mov eax, dword [ebp + 0x230]
mov edx, dword [ebp + 0x23c]
lea esi, [ecx - 2]
imul esi, eax
xor eax, eax
push eax
mov eax, dword [esp + 0x78]
push eax
xor edi, edi
push edi
push edx
call sub.ntdll.dll__allmul
add esi, eax
adc edi, edx
add esi, dword [esp + 0x64]
mov eax, 0
adc edi, eax
imul ebx, dword [ebp + 0x230]
push eax
push ebx
push edi
push esi
push ebp
call fcn.004330c0
cmp dword [ebp + 0x260], 0
jne 0x43403f
mov edx, dword [esp + 0x28]
add edx, 1
jmp 0x433fca
mov eax, dword [esp + 0x48]
test eax, eax
mov dword [esp + 0xc4], 0xffffffff
je 0x43405b
push eax
call sub.MFC80U.DLL_Ordinal_764
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0xbc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb4
ret 4