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

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
push edi
xor edi, edi
push 0x2000
xor ebp, ebp
mov byte [esp + 0x17], 0
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], edi
call fcn.004df770
mov ebx, eax
add esp, 4
cmp ebx, edi
mov dword [esp + 0x28], ebx
je 0x46b974
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
push 1
push edi
push edi
push ebx
push eax
mov eax, dword [esp + 0x50]
push ecx
push esi
push edx
push eax
call fcn.0046a960
add esp, 0x24
cmp eax, 1
jne 0x46b974
push 0xa58
call fcn.004df770
mov ebp, eax
add esp, 4
cmp ebp, edi
mov dword [esp + 0x18], ebp
je 0x46b974
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
cmp eax, edi
mov dword [ebp + 0x2c], ecx
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edx
jne 0x46b255
cmp esi, edi
je 0x46b261
cmp dword [esi + 0x3b40], edi
je 0x46b255
mov eax, dword [esi + 0x14]
mov dword [esp + 0x3c], eax
cmp esi, edi
je 0x46b261
cmp dword [esi + 0x3b40], edi
je 0x46b29a
mov ecx, dword [esp + 0x3c]
push edi
push edi
lea edx, [esp + 0x38]
push ecx
push edx
call fcn.0046aeb0
push eax
call fcn.004e1b80
add esp, 0x14
lea ecx, [esp + 0x30]
mov dword [ebp + 0x14], eax
call fcn.00544250
mov eax, dword [esp + 0x3c]
push eax
call fcn.004deb20
mov dword [ebp + 0x18], eax
add esp, 4
mov dword [ebp + 0x1c], edx
cmp esi, edi
je 0x46b2fc
cmp dword [ebp + 0xc], edi
je 0x46b2fc
cmp dword [esi + 0x2a0], edi
jne 0x46b2fc
cmp dword [esi + 0x3934], edi
jne 0x46b2fc
cmp dword [esi + 0x3928], edi
jne 0x46b2fc
cmp dword [esi + 0x392c], edi
jne 0x46b2fc
cmp dword [esi + 0x3930], edi
jne 0x46b2fc
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x1c]
or ecx, eax
jne 0x46b2fc
mov edx, dword [esi + 0x14]
push edx
call fcn.004df870
mov ecx, eax
mov eax, dword [ebp + 0xc]
mov esi, edx
add esp, 4
cdq
push edx
push eax
push esi
push ecx
call fcn.00526d20
mov esi, dword [esp + 0x48]
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], edx
cmp word [ebx + 0x1fe], 0xaa55
je 0x46b35b
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x40]
push eax
push esi
push ecx
push edx
call fcn.0046acc0
add esp, 0x14
test eax, eax
jne 0x46b59e
cmp dword [esp + 0x40], 0xffffffff
jne 0x46b59e
mov eax, dword [esp + 0x48]
cmp eax, edi
je 0x46b34b
cmp dword [eax + 0x3b08], edi
jne 0x46b59e
push ebp
call fcn.004df7a0
add esp, 4
xor ebp, ebp
jmp 0x46b974
mov ecx, dword [esp + 0x1c]
lea esi, [ebx + 0x1be]
xor eax, eax
xor edx, edx
mov dl, byte [eax + esi]
add ecx, edx
inc eax
cmp eax, 0x40
jl 0x46b367
mov dword [esp + 0x1c], ecx
xor eax, eax
mov edx, esi
mov cl, byte [edx]
cmp cl, 0x80
je 0x46b387
test cl, cl
jne 0x46b392
inc eax
add edx, 0x10
cmp eax, 4
jl 0x46b37c
jmp 0x46b39b
cmp eax, 4
jl 0x46b59e
cmp dword [esp + 0x1c], edi
je 0x46b59e
mov eax, dword [ebx + 0x1b8]
mov dword [esp + 0x40], edi
mov dword [ebp + 0xa40], eax
mov bl, byte [esi + 4]
cmp bl, 0xee
jne 0x46b3c7
mov dword [esp + 0x24], 1
jmp 0x46b431
test bl, bl
je 0x46b431
cmp bl, 5
je 0x46b426
cmp bl, 0xf
je 0x46b426
cmp dword [esp + 0x14], edi
je 0x46b3e0
cmp bl, 0x8e
jne 0x46b431
push ebp
call fcn.0046a870
add esp, 4
cmp eax, edi
je 0x46b974
mov dword [ebp], 1
mov dword [eax], 1
mov cl, byte [esi]
mov byte [eax + 0x79], bl
mov byte [eax + 0x78], cl
mov edx, dword [esi + 8]
mov dword [eax + 0x80], edx
mov dword [eax + 0x84], edi
mov ecx, dword [esi + 0xc]
mov dword [eax + 0x88], ecx
mov dword [eax + 0x8c], edi
jmp 0x46b431
mov edx, dword [esi + 8]
mov byte [esp + 0x13], bl
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x40]
add esi, 0x10
inc eax
cmp eax, 4
mov dword [esp + 0x40], eax
jl 0x46b3b5
cmp dword [esp + 0x14], edi
je 0x46b56e
mov dword [esp + 0x1c], edi
mov al, byte [esp + 0x13]
cmp al, 5
je 0x46b464
cmp al, 0xf
jne 0x46b558
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
xor eax, eax
add esi, edi
mov edi, eax
adc edi, eax
push edi
push esi
push ebp
call fcn.0046a900
add esp, 0xc
test eax, eax
je 0x46b974
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
push 1
push edi
push esi
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x58]
push eax
mov eax, dword [esp + 0x54]
push ecx
push edx
push eax
call fcn.0046a960
add esp, 0x24
cmp eax, 1
jne 0x46b974
mov ecx, dword [esp + 0x28]
xor edi, edi
mov dword [esp + 0x40], edi
lea esi, [ecx + 0x1be]
mov bl, byte [esi + 4]
cmp bl, 0xee
mov byte [esp + 0x13], bl
jne 0x46b4e0
mov dword [esp + 0x24], 1
jmp 0x46b53a
test bl, bl
je 0x46b53a
cmp bl, 5
je 0x46b551
cmp bl, 0xf
je 0x46b551
push ebp
call fcn.0046a870
add esp, 4
cmp eax, edi
je 0x46b974
xor edi, edi
mov dword [ebp], 1
mov dword [eax], edi
mov dl, byte [esi]
mov byte [eax + 0x78], dl
mov edx, dword [esp + 0x14]
mov byte [eax + 0x79], bl
mov ecx, dword [esi + 8]
add ecx, dword [esp + 0x20]
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 + 0x40]
add esi, 0x10
inc eax
cmp eax, 4
mov dword [esp + 0x40], eax
jl 0x46b4ca
jmp 0x46b558
mov eax, dword [esi + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, 0x12c
mov dword [esp + 0x1c], eax
jl 0x46b454
xor edi, edi
cmp dword [esp + 0x24], edi
je 0x46b59e
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push 1
push ebp
push ecx
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x4c]
push eax
push ecx
push edx
call fcn.0046ba50
add esp, 0x1c
mov dword [ebp + 0xa40], edi
cmp dword [ebp], edi
jne 0x46b5e7
push ebp
call fcn.0046a870
add esp, 4
cmp eax, edi
je 0x46b974
mov dword [eax + 0x80], edi
mov dword [eax], 1
mov byte [eax + 0x78], 0
mov byte [eax + 0x79], 0
mov dword [eax + 0x84], edi
mov ecx, dword [ebp + 0x18]
mov dword [eax + 0x88], ecx
mov edx, dword [ebp + 0x1c]
mov dword [eax + 0x8c], edx
mov dword [ebp + 4], 1
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x40], edi
cmp eax, edi
jle 0x46b941
mov dword [esp + 0x50], edi
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x50]
mov ecx, dword [eax + 0xa54]
mov eax, dword [esp + 0x54]
add ebp, ecx
test eax, eax
lea edi, [ebp + 0x9e]
mov word [edi], 0
je 0x46b635
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
push ebp
push ecx
push edx
push eax
call fcn.0046bf10
add esp, 0x10
mov esi, dword [ebp + 0x440]
test esi, esi
je 0x46b74c
mov ecx, dword [esi + 0x390c]
mov eax, dword [esi + 0x3b00]
test ecx, ecx
mov dword [esp + 0x2c], esi
je 0x46b66a
push 0x687414
push edi
call fcn.00526ae2
add esp, 8
jmp 0x46b750
test eax, eax
je 0x46b6b3
mov eax, dword [eax]
cmp eax, 1
jne 0x46b688
push 0x687408
push edi
call fcn.00526ae2
add esp, 8
jmp 0x46b750
cmp eax, 2
jne 0x46b6a0
push 0x6873fc
push edi
call fcn.00526ae2
add esp, 8
jmp 0x46b750
push 0x6873f0
push edi
call fcn.00526ae2
add esp, 8
jmp 0x46b750
mov eax, dword [esi + 0x3b04]
test eax, eax
je 0x46b6d0
push str.exFAT
push edi
call fcn.00526ae2
add esp, 8
jmp 0x46b750
mov eax, dword [esi + 0x3910]
test eax, eax
jne 0x46b73a
mov eax, dword [esi + 0x3914]
test eax, eax
jne 0x46b73a
mov eax, dword [esi + 0x3918]
test eax, eax
jne 0x46b73a
mov eax, dword [esi + 0x389c]
test eax, eax
jne 0x46b73a
mov eax, dword [esi + 0x3898]
test eax, eax
jne 0x46b73a
mov eax, dword [esi + 0x3890]
test eax, eax
jne 0x46b73a
mov eax, dword [esi + 0x3894]
test eax, eax
jne 0x46b73a
mov eax, dword [esi + 0x391c]
test eax, eax
jne 0x46b73a
mov eax, dword [esi + 0x3b60]
test eax, eax
je 0x46b750
push 0x68731c
push edi
call fcn.00526ae2
add esp, 8
jmp 0x46b750
push esi
call fcn.00404190
push eax
push edi
call fcn.00526ae2
add esp, 0xc
jmp 0x46b750
mov esi, dword [esp + 0x2c]
cmp word [edi], 0
jne 0x46b7f2
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
test eax, eax
je 0x46b7de
lea ebx, [ebp + 4]
mov ecx, 4
mov edi, 0x6d1a90
mov esi, ebx
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x46b78e
lea eax, [ebp + 0x9e]
push 0x6d1dac
push eax
call fcn.00526ae2
add esp, 8
mov ecx, 4
mov edi, 0x6d1b10
mov esi, ebx
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x46b7b6
lea eax, [ebp + 0x9e]
push str.MS_Reserved
push eax
call fcn.00526ae2
add esp, 8
jmp 0x46b7f2
mov ecx, 4
mov edi, 0x6d1b20
mov esi, ebx
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x46b7f2
lea eax, [ebp + 0x9e]
push 0x687414
push eax
call fcn.00526ae2
add esp, 8
jmp 0x46b7f2
lea eax, [ebp + 0x9e]
push eax
mov al, byte [ebp + 0x79]
push eax
push esi
call fcn.004042f0
add esp, 0xc
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 8]
test eax, eax
je 0x46b80f
push 0x6d1d00
lea esi, [ebp + 0x11e]
push 0x2714
jmp 0x46b832
mov eax, dword [ebp]
lea esi, [ebp + 0x11e]
test eax, eax
je 0x46b828
push str.Primary
push 0x2715
jmp 0x46b832
push str.Extended
push 0x2716
call fcn.00506990
push eax
push 0x691fd4
push esi
call fcn.00526ec2
add esp, 0x14
lea eax, [ebp + 0x9e]
push eax
push 0x6d1d7c
push esi
call fcn.00526b30
add esp, 4
lea ecx, [ebp + eax*2 + 0x11e]
push ecx
call fcn.00526ec2
push ebp
push edi
call fcn.0046b990
lea esi, [ebp + 0x31e]
push 0x7045ac
push esi
call fcn.00526ae2
mov edx, dword [ebp + 0x428]
mov eax, dword [ebp + 0x42c]
add esp, 0x1c
or edx, eax
je 0x46b91f
mov eax, dword [ebp + 0x430]
mov ecx, dword [ebp + 0x434]
mov edx, eax
or edx, ecx
je 0x46b91f
mov edx, dword [ebp + 0x438]
push ecx
push eax
push 0
push edx
call fcn.00526dd0
test edx, edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
ja 0x46b8cc
cmp eax, 0x40000000
jb 0x46b8e3
fild qword [esp + 0x30]
sub esp, 8
fmul dword [0x648d34]
fstp qword [esp]
push str._.1f_GB
jmp 0x46b916
test edx, edx
ja 0x46b8ee
cmp eax, 0xa00000
jb 0x46b901
mov ecx, 0x14
call fcn.00526f40
push edx
push eax
push str._d_MB
jmp 0x46b916
fild qword [esp + 0x30]
sub esp, 8
fmul dword [0x648d30]
fstp qword [esp]
push str._.1f_MB
push esi
call fcn.00526ec2
add esp, 0x10
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
mov ecx, dword [edi + 0x10]
inc eax
add edx, 0x448
cmp eax, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], edx
jl 0x46b5fa
mov eax, dword [esp + 0x48]
test eax, eax
je 0x46b953
mov ecx, dword [eax + 0x3b40]
test ecx, ecx
je 0x46b967
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
push ebp
push eax
call fcn.0046bca0
add esp, 8
jmp 0x46b96b
mov ebp, dword [esp + 0x18]
push ebp
call fcn.0046a780
add esp, 4
mov ecx, dword [esp + 0x28]
push ecx
call fcn.004df7a0
add esp, 4
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret