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

Disassembly:
sub esp, 0x630
push ebx
push ebp
push esi
push edi
xor ebp, ebp
push 0x200
mov dword [esp + 0x14], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x34], ebp
call fcn.004b6a20
mov esi, eax
add esp, 4
cmp esi, ebp
mov dword [esp + 0x1c], esi
je 0x452218
mov eax, dword [esp + 0x654]
mov ecx, dword [esp + 0x650]
mov edi, dword [esp + 0x64c]
mov ebx, dword [esp + 0x644]
push 1
push ebp
push ebp
push esi
push eax
push ecx
push edi
push ebx
call fcn.004519f0
add esp, 0x20
cmp eax, 1
jne 0x452218
push 0xa38
call fcn.004b6a20
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x18], ebp
je 0x452218
mov edx, dword [esp + 0x648]
mov dword [ebp + 8], 0
test edi, edi
mov dword [ebp + 0x24], edx
jne 0x451c3c
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x3c]
push eax
rep stosd dword es:[edi], eax
lea eax, [esp + 0x40]
push 1
push eax
push ebx
call fcn.004d3360
add esp, 0x10
test eax, eax
je 0x451bfd
lea ecx, [esp + 0x3d]
push ecx
call fcn.004b92a0
lea edx, [esp + 0x4a]
push edx
call fcn.004b92a0
mov edx, dword [0x683854]
lea eax, [esp + 0x4e]
lea ecx, [esp + 0x45]
push eax
push ecx
push 0x63f01c
push 0x40000
push edx
call fcn.004f84bb
mov ecx, dword [0x683854]
push 0x400
lea eax, [esp + 0x260]
push 0
push eax
push 0xffffffffffffffff
push ecx
call fcn.0042a3e0
add esp, 0x30
jmp 0x451c1d
push str.Drive
push 0x2713
call fcn.004dd120
lea edx, [esp + 0x248]
push eax
push edx
call fcn.004f59f2
add esp, 0x10
lea eax, [esp + 0x240]
push eax
call fcn.004f5a8f
push ebx
mov dword [ebp + 0x10], eax
call fcn.004b5f00
mov dword [ebp + 0x18], eax
add esp, 8
mov dword [ebp + 0x1c], edx
cmp word [esi + 0x1fe], 0xaa55
je 0x451c53
test ebx, ebx
je 0x451e9f
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add esi, 0x1be
xor eax, eax
xor edx, edx
mov dl, byte [eax + esi]
add ecx, edx
inc eax
cmp eax, 0x40
jl 0x451c5f
mov dword [esp + 0x10], ecx
xor eax, eax
mov edx, esi
mov cl, byte [edx]
cmp cl, 0x80
je 0x451c7f
test cl, cl
jne 0x451c8a
inc eax
add edx, 0x10
cmp eax, 4
jl 0x451c74
jmp 0x451c93
cmp eax, 4
jl 0x451e9f
mov eax, dword [esp + 0x10]
test eax, eax
je 0x451e9f
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], 0
xor edi, edi
mov ecx, dword [eax + 0x1b8]
mov dword [ebp + 0xa24], ecx
mov bl, byte [esi + 4]
cmp bl, 0xee
jne 0x451ccb
mov dword [esp + 0x14], 1
jmp 0x451d1f
test bl, bl
je 0x451d1f
cmp bl, 5
je 0x451d32
cmp bl, 0xf
je 0x451d32
push ebp
call fcn.00451900
add esp, 4
cmp eax, edi
je 0x452218
mov dword [ebp], 1
mov dword [eax], 1
mov dl, byte [esi]
mov byte [eax + 0x79], bl
mov byte [eax + 0x78], dl
mov ecx, dword [esi + 8]
xor edi, edi
mov dword [eax + 0x80], ecx
mov dword [eax + 0x84], edi
mov edx, dword [esi + 0xc]
mov dword [eax + 0x88], edx
mov dword [eax + 0x8c], edi
mov eax, dword [esp + 0x10]
add esi, 0x10
inc eax
cmp eax, 4
mov dword [esp + 0x10], eax
jl 0x451cb9
jmp 0x451d39
mov eax, dword [esi + 8]
mov dword [esp + 0x28], eax
cmp bl, 5
je 0x451d47
cmp bl, 0xf
jne 0x451e68
mov dword [esp + 0x34], edi
cmp bl, 5
je 0x451d59
cmp bl, 0xf
jne 0x451e52
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
xor ecx, ecx
add esi, edi
mov edi, ecx
adc edi, ecx
push edi
push esi
push ebp
call fcn.00451990
add esp, 0xc
test eax, eax
je 0x452218
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x654]
mov ecx, dword [esp + 0x650]
push 1
push edi
push esi
push edx
mov edx, dword [esp + 0x65c]
push eax
mov eax, dword [esp + 0x658]
push ecx
push edx
push eax
call fcn.004519f0
add esp, 0x20
cmp eax, 1
jne 0x452218
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], 0
xor edi, edi
lea esi, [ecx + 0x1be]
mov bl, byte [esi + 4]
cmp bl, 0xee
jne 0x451ddc
mov dword [esp + 0x14], 1
jmp 0x451e38
test bl, bl
je 0x451e38
cmp bl, 5
je 0x451e4b
cmp bl, 0xf
je 0x451e4b
push ebp
call fcn.00451900
add esp, 4
cmp eax, edi
je 0x452218
xor edi, edi
mov dword [ebp], 1
mov dword [eax], edi
mov dl, byte [esi]
mov byte [eax + 0x78], dl
mov edx, dword [esp + 0x20]
mov byte [eax + 0x79], bl
mov ecx, dword [esi + 8]
add ecx, edx
mov edx, dword [esp + 0x28]
add ecx, edx
mov dword [eax + 0x80], ecx
mov dword [eax + 0x84], edi
mov edx, dword [esi + 0xc]
mov dword [eax + 0x88], edx
mov dword [eax + 0x8c], edi
mov eax, dword [esp + 0x10]
add esi, 0x10
inc eax
cmp eax, 4
mov dword [esp + 0x10], eax
jl 0x451dca
jmp 0x451e52
mov eax, dword [esi + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
inc eax
cmp eax, 0x12c
mov dword [esp + 0x34], eax
jl 0x451d4b
xor edi, edi
cmp dword [esp + 0x14], edi
je 0x451e9f
mov ecx, dword [esp + 0x654]
mov edx, dword [esp + 0x650]
mov eax, dword [esp + 0x64c]
push 1
push ebp
push ecx
mov ecx, dword [esp + 0x650]
push edx
push eax
push ecx
call fcn.00452240
add esp, 0x18
mov dword [ebp + 0xa24], edi
mov eax, dword [ebp]
xor esi, esi
cmp eax, esi
jne 0x451eec
push ebp
call fcn.00451900
add esp, 4
cmp eax, esi
je 0x452218
mov dword [eax + 0x80], esi
mov dword [eax], 1
mov byte [eax + 0x78], 0
mov byte [eax + 0x79], 0
mov dword [eax + 0x84], esi
mov edx, dword [ebp + 0x18]
mov dword [eax + 0x88], edx
mov ecx, dword [ebp + 0x1c]
mov dword [eax + 0x8c], ecx
mov dword [ebp + 4], 1
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x10], esi
cmp eax, esi
jle 0x4521ef
mov dword [esp + 0x14], esi
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x658]
add ebp, dword [edx + 0xa34]
test eax, eax
lea ebx, [ebp + 0x9a]
mov word [ebx], 0
je 0x451f3c
mov eax, dword [esp + 0x64c]
mov ecx, dword [esp + 0x644]
push ebp
push eax
push ecx
call fcn.00452700
add esp, 0xc
mov esi, dword [ebp + 0x434]
test esi, esi
je 0x451fc4
mov edx, dword [esi + 0x38ec]
mov eax, dword [esi + 0x3a90]
mov ecx, dword [esi + 0x3a94]
mov dword [esp + 0x30], esi
test edx, edx
je 0x451f70
push 0x60d5a4
push ebx
call fcn.004f59f2
add esp, 8
jmp 0x451fc8
test eax, eax
je 0x451fb0
mov eax, dword [eax]
cmp eax, 1
jne 0x451f8b
push 0x60d52c
push ebx
call fcn.004f59f2
add esp, 8
jmp 0x451fc8
cmp eax, 2
jne 0x451fa0
push 0x60d598
push ebx
call fcn.004f59f2
add esp, 8
jmp 0x451fc8
push 0x60d538
push ebx
call fcn.004f59f2
add esp, 8
jmp 0x451fc8
test ecx, ecx
je 0x451fc8
push str.exFAT
push ebx
call fcn.004f59f2
add esp, 8
jmp 0x451fc8
mov esi, dword [esp + 0x30]
cmp word [ebx], 0
jne 0x452053
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
test eax, eax
je 0x452045
lea esi, [ebp + 4]
mov ecx, 4
mov edi, 0x63e840
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x451ffe
push 0x63f008
push ebx
call fcn.004f59f2
add esp, 8
lea eax, [ebp + 4]
mov ecx, 4
mov edi, 0x63e8c0
mov esi, eax
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x452023
push str.MS_Reserved
push ebx
call fcn.004f59f2
add esp, 8
jmp 0x452053
mov esi, eax
mov ecx, 4
mov edi, 0x63e8d0
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x452053
push 0x60d5a4
push ebx
call fcn.004f59f2
add esp, 8
jmp 0x452053
mov cl, byte [ebp + 0x79]
push ebx
push ecx
push esi
call fcn.00403f90
add esp, 0xc
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 8]
test eax, eax
je 0x452070
push 0x63eab0
lea esi, [ebp + 0x11a]
push 0x2714
jmp 0x452093
mov eax, dword [ebp]
lea esi, [ebp + 0x11a]
test eax, eax
je 0x452089
push str.Primary
push 0x2715
jmp 0x452093
push str.Extended
push 0x2716
call fcn.004dd120
push eax
push 0x6170e0
push esi
call fcn.004f5dd2
add esp, 0x14
push ebx
push 0x63efd8
push esi
call fcn.004f5a40
add esp, 4
lea edx, [ebp + eax*2 + 0x11a]
push edx
call fcn.004f5dd2
mov ecx, dword [ebp + 0x8c]
mov eax, dword [ebp + 0x88]
add esp, 0xc
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
push 0
push 0x200
push ecx
push eax
call fcn.004f5ce0
test edx, edx
ja 0x4520f3
cmp eax, 0x40000000
jb 0x452111
fild qword [esp + 0x34]
sub esp, 8
lea eax, [ebp + 0x21a]
fmul dword [0x5d4fa4]
fstp qword [esp]
push str._.1f_GB
push eax
jmp 0x452129
mov ecx, 0x14
call fcn.004f5ee0
push edx
push eax
lea ecx, [ebp + 0x21a]
push str._d_MB
push ecx
call fcn.004f5dd2
add esp, 0x10
lea esi, [ebp + 0x31a]
push 0x672d14
push esi
call fcn.004f59f2
mov edx, dword [ebp + 0x420]
mov eax, dword [ebp + 0x424]
add esp, 8
or edx, eax
je 0x4521cd
mov eax, dword [ebp + 0x428]
mov ecx, dword [ebp + 0x42c]
mov edx, eax
mov dword [esp + 0x28], eax
or edx, ecx
mov dword [esp + 0x2c], ecx
je 0x4521cd
mov ebp, dword [ebp + 0x430]
push ecx
push eax
push 0
push ebp
call fcn.004f5ce0
test edx, edx
ja 0x45218a
cmp eax, 0x40000000
jb 0x4521b3
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], 0
fild qword [esp + 0x20]
fild qword [esp + 0x28]
sub esp, 8
fmulp st(1)
fmul dword [0x5d4fa0]
fstp qword [esp]
push str._.1f_GB
jmp 0x4521c4
mov ecx, 0x14
call fcn.004f5ee0
push edx
push eax
push str._d_MB
push esi
call fcn.004f5dd2
add esp, 0x10
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [edi + 0xc]
inc eax
add edx, 0x440
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
jl 0x451eff
mov eax, dword [esp + 0x64c]
mov ebp, dword [esp + 0x18]
test eax, eax
jne 0x45220f
mov eax, dword [esp + 0x644]
push ebp
push eax
call fcn.00452490
add esp, 8
push ebp
call fcn.00451640
add esp, 4
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.004b6a50
add esp, 4
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x630
ret