Function at 0x4487a7
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x19c
mov eax, dword [0x13413f8]
xor eax, esp
mov dword [esp + 0x198], eax
push ebx
mov ebx, dword [esp + 0x1a8]
push ebp
mov ebp, dword [esp + 0x1a8]
push esi
push edi
push ebp
mov esi, dword [ebp + 8]
call fcn.0042c1e0
push ebx
push ebp
mov dword [esp + 0x44], eax
call fcn.0042c1c0
mov dword [esp + 0x24], 0
xor edi, edi
mov edx, dword [esi + 0x24]
add esp, 0xc
mov esi, dword [esp + 0x38]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], edx
cmp byte [esi + 0x39], 0
je 0x448751
cmp byte [edx + 0x48], 0
mov ecx, 0x20
mov edx, 8
cmovne ecx, edx
cmp byte [eax + 0x63], 0
je 0x44873b
or ecx, 0x1800
jmp 0x448756
cmp byte [eax + 0x65], 0
je 0x448749
or ecx, 0x1a00
jmp 0x448756
or ecx, 0x200
jmp 0x448756
mov ecx, 0x1808
cmp byte [esi + 0x3a], 0
mov dword [esp + 0x24], ecx
jne 0x448767
or ecx, 4
mov dword [esp + 0x24], ecx
cmp byte [eax + 0x67], 0
jne 0x44877e
and ecx, 0xffffffbf
or ecx, 0x10
mov dword [esp + 0x24], ecx
push 0x5583c8
jmp 0x448783
push 0x558400
push ebx
call fcn.00433610
movzx eax, byte [esi + 0x38]
add esp, 8
cmp eax, 7
ja case.default.0x4487a0
movzx eax, byte [eax + 0x449238]
jmp dword [eax*4 + 0x449230]
push ebx
lea eax, [esp + 0x50]
push ebp
push eax
call fcn.0044a3a0
add esp, 0xc
test eax, eax
jne 0x449216
mov eax, dword [ebx + 0x3c0]
test eax, eax
jne 0x4487d4
cmp dword [ebx + 0x3d4], edi
je 0x448c66
mov ecx, dword [ebx + 0x3d4]
xor ebp, ebp
mov dword [esp + 0x30], edi
mov dword [esp + 0x40], edi
xor edi, edi
test ecx, ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], edi
setne dl
mov dword [esp + 0x1c], edi
xor esi, esi
mov dword [esp + 0x2c], edi
mov byte [esp + 0x13], dl
test dl, dl
je 0x448814
mov eax, dword [ecx]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x2c], eax
jmp 0x448878
push eax
call fcn.00445970
mov esi, eax
add esp, 4
test esi, esi
je 0x448ca8
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
push esi
call fcn.00448530
mov ebp, eax
add esp, 0x10
test ebp, ebp
je 0x448b63
mov eax, dword [ebx + 0x3c0]
cmp byte [eax], 0
je 0x448b42
push 0x553d54
push eax
call fcn.00445a50
mov ecx, eax
add esp, 8
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0x448b42
mov ebp, dword [esp + 0x20]
mov eax, dword [ebx + 0x400]
test eax, eax
je 0x4488cd
push 0x5584c8
push eax
call fcn.00439f00
add esp, 8
test eax, eax
jne 0x4488cd
mov al, byte [esp + 0x13]
test al, al
mov eax, 0x5584cc
jne 0x4488a7
mov eax, dword [ebx + 0x3c0]
push eax
push 0x5584dc
push ebx
call fcn.00433540
add esp, 0xc
test esi, esi
je 0x4488c3
push esi
call fcn.004fa6b9
add esp, 4
mov eax, 0x3a
jmp 0x449216
mov al, byte [esp + 0x13]
cmp dword [esp + 0x28], edi
jne 0x4488df
test al, al
je 0x448b67
xor ebp, ebp
test al, al
je 0x4488ef
mov dword [esp + 0x20], 0x5584cc
jmp 0x4488f9
mov eax, dword [ebx + 0x3c0]
mov dword [esp + 0x20], eax
test esi, esi
je 0x448906
push esi
call fcn.004fa6b9
add esp, 4
mov esi, dword [esp + 0x28]
test esi, esi
je 0x4489f0
push 2
push 0
push esi
mov dword [esp + 0x34], edi
call fcn.005014d6
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x14], al
test al, al
je 0x4489a5
push esi
call fcn.00502227
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
jns 0x4489a1
mov byte [esp + 0x14], 0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
test eax, eax
je 0x448964
push esi
push 1
push ecx
push eax
call fcn.00501151
add esp, 0x10
cmp eax, 1
je 0x448969
mov byte [esp + 0x14], 0
push esi
call fcn.004f637d
add esp, 4
cmp byte [esp + 0x14], 0
jne 0x4489f0
push dword [ebx + 0x3c0]
push 0x558518
push ebx
call fcn.00433540
push dword [esp + 0x28]
call dword [0x1341004]
add esp, 0x10
mov eax, 0x3a
jmp 0x449216
mov al, byte [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
test al, al
je 0x4489e7
push 0
push 0
push esi
call fcn.005014d6
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x14], al
test al, al
je 0x448946
mov eax, dword [esp + 0x28]
inc eax
push eax
call dword [section..data]
add esp, 4
mov dword [esp + 0x1c], eax
jmp 0x44894a
mov eax, dword [esp + 0x1c]
jmp 0x44894e
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0x410]
test eax, eax
je 0x448a1a
mov ebp, eax
lea ecx, [ebp + 1]
nop
mov al, byte [ebp]
inc ebp
test al, al
jne 0x448a10
sub ebp, ecx
lea eax, [ebp*2 + 2]
push eax
call dword [section..data]
mov esi, eax
add esp, 4
test esi, esi
je 0x448a9c
test ebp, ebp
je 0x448a78
lea ecx, [ebp + 1]
push ecx
push esi
push ebp
push dword [ebx + 0x410]
push 8
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jns 0x448a7a
xor eax, eax
mov word [esi], ax
push 3
push 2
push 0
push 0
push 6
call fcn.00467e70
add esp, 0x14
test al, al
lea eax, [esp + 0x40]
je 0x448a86
push 0x8000
jmp 0x448a88
xor eax, eax
cmp eax, ebp
jg 0x448a52
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x448a57
push 0
push esi
push eax
call dword [sym.imp.CRYPT32.dll_PFXImportCertStore]
push esi
mov edi, eax
call dword [0x1341004]
add esp, 4
cmp byte [esp + 0x13], 0
jne 0x448ab0
push dword [esp + 0x1c]
call dword [0x1341004]
add esp, 4
test edi, edi
jne 0x448af6
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x56
jne 0x448ad9
push dword [esp + 0x20]
push 0x558540
push ebx
call fcn.00433540
add esp, 0xc
lea eax, [edi + 0x3a]
jmp 0x449216
push eax
push dword [esp + 0x24]
push 0x55857c
push ebx
call fcn.00433540
add esp, 0x10
mov eax, 0x3a
jmp 0x449216
push 0
push 0
push 0
push 0
push 0x10001
push edi
call dword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x448c62
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [esp + 0x24]
push 0x5585c0
push ebx
call fcn.00433540
add esp, 0x10
push 0
push edi
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov eax, 0x3a
jmp 0x449216
push dword [ebx + 0x3c0]
push 0x55848c
push ebx
call fcn.00433540
push esi
call fcn.004fa6b9
add esp, 0x10
mov eax, ebp
jmp 0x449216
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
push ebp
or eax, 0x4000
push eax
push 0
push 0
push 0xa
call dword [sym.imp.CRYPT32.dll_CertOpenStore]
mov edi, eax
push ebp
test edi, edi
jne 0x448bd0
call fcn.004459e0
add esp, 4
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
test edi, edi
mov ecx, 0x558608
cmovne ecx, edi
push ecx
push dword [esp + 0x38]
push 0x558618
push ebx
call fcn.00433540
push ebp
call dword [0x1341004]
add esp, 0x18
test edi, edi
je 0x4488b6
push edi
call fcn.004fa6b9
add esp, 4
jmp 0x4488b6
call dword [0x1341004]
add esp, 4
mov dword [esp + 0x50], 0x14
lea eax, [esp + 0x90]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x50]
push 0
push 0
push eax
lea eax, [esp + 0x9c]
push eax
push 4
push 0x28
push dword [esp + 0x58]
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryW]
test eax, eax
jne 0x448c2f
test esi, esi
je 0x448c1c
push esi
call fcn.004fa6b9
add esp, 4
push 0
push edi
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov eax, 0x3a
jmp 0x449216
push 0
lea eax, [esp + 0x54]
push eax
push 0x10000
push 0
push 0x10001
push edi
call dword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov dword [esp + 0x18], eax
test esi, esi
je 0x448c5e
push esi
call fcn.004fa6b9
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
je 0x448c1c
mov esi, dword [esp + 0x38]
push 0x20
push 1
call dword [0x1341010]
mov ebp, dword [esp + 0x50]
add esp, 8
mov dword [ebp], eax
test eax, eax
jne 0x448cb2
push 0x558658
push ebx
call fcn.00433540
mov eax, dword [esp + 0x20]
add esp, 8
test eax, eax
je 0x448c9b
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
test edi, edi
je 0x448ca8
push 0
push edi
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov eax, 0x1b
jmp 0x449216
mov dword [eax + 0x18], 1
mov eax, dword [ebp]
mov dword [eax + 0x14], edi
cmp dword [esi + 0x10], 0
jne 0x4490b3
push 3
push 2
push 0x4563
push 0
push 0xa
call fcn.00467e70
add esp, 0x14
test al, al
je 0x4490b3
push 0x2c
lea eax, [esp + 0x5c]
push 0
push eax
call fcn.004f3280
push 0x70
lea eax, [esp + 0xb8]
mov dword [esp + 0xa0], 0
xorps xmm0, xmm0
mov dword [esp + 0xb4], 0
push 0
push eax
movups xmmword [esp + 0xac], xmm0
call fcn.004f3280
mov edi, dword [esi + 0x14]
xor eax, eax
add esp, 0x18
mov word [esp + 0x38], ax
xor edx, edx
mov dword [esp + 0x3a], eax
mov word [esp + 0x3e], ax
mov word [esp + 0x30], ax
mov dword [esp + 0x32], eax
mov word [esp + 0x36], ax
test edi, edi
je 0x44903e
mov dl, 1
mov dword [esp + 0x40], eax
mov byte [esp + 0x16], 1
mov byte [esp + 0x15], 1
mov byte [esp + 0x17], 1
mov byte [esp + 0x13], 1
mov byte [esp + 0x14], dl
cmp byte [edi], 0
je 0x448eb5
cmp eax, 5
jge 0x448eb5
push 0x3a
push edi
call fcn.004f33e0
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x448d9b
mov esi, ebp
sub esi, edi
jmp 0x448da9
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x448da0
sub esi, ecx
cmp byte [esp + 0x16], 0
je 0x448dd2
push esi
push edi
push 0x55867c
call fcn.004484b0
add esp, 0xc
test al, al
je 0x448dd2
mov dl, byte [esp + 0x14]
xor ch, ch
mov byte [esp + 0x16], ch
jmp 0x448e77
mov al, byte [esp + 0x15]
test al, al
je 0x448e00
push esi
push edi
push 0x558694
call fcn.004484b0
add esp, 0xc
test al, al
je 0x448e00
mov dl, byte [esp + 0x14]
xor dh, dh
mov ch, byte [esp + 0x16]
mov byte [esp + 0x15], dh
jmp 0x448e7b
cmp byte [esp + 0x17], 0
je 0x448e25
push esi
push edi
push 0x5586ac
call fcn.004484b0
add esp, 0xc
test al, al
je 0x448e25
mov dl, byte [esp + 0x14]
mov byte [esp + 0x17], 0
jmp 0x448e73
cmp byte [esp + 0x13], 0
je 0x448e53
push esi
push edi
push 0x5586cc
call fcn.004484b0
add esp, 0xc
test al, al
je 0x448e53
mov dl, byte [esp + 0x14]
xor cl, cl
mov ch, byte [esp + 0x16]
mov dh, byte [esp + 0x15]
mov byte [esp + 0x13], cl
jmp 0x448e7f
cmp byte [esp + 0x14], 0
je 0x448e9b
push esi
push edi
push 0x5586e8
call fcn.004484b0
add esp, 0xc
test al, al
je 0x448e9b
xor dl, dl
mov byte [esp + 0x14], dl
mov ch, byte [esp + 0x16]
mov dh, byte [esp + 0x15]
mov cl, byte [esp + 0x13]
mov edi, ebp
test ebp, ebp
je 0x448e88
lea edi, [ebp + 1]
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
test edi, edi
jne 0x448d72
jmp 0x448ec1
push edi
push esi
push 0x558700
push ebx
call fcn.00433540
add esp, 0x10
mov eax, 0x3b
jmp 0x449216
mov dh, byte [esp + 0x15]
mov ch, byte [esp + 0x16]
mov cl, byte [esp + 0x13]
test ch, ch
je 0x448eed
test dh, dh
je 0x448eed
cmp byte [esp + 0x17], 0
je 0x448eed
test cl, cl
je 0x448ef1
test dl, dl
je 0x448eed
push 0x558728
push ebx
call fcn.00433540
mov eax, 0x3b
jmp 0x449213
test cl, cl
jne 0x448ef5
test dl, dl
je 0x448f68
mov dword [esp + 0x38], 0x200020
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], 0x558760
mov dword [esp + 0xa8], 2
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb4], 1
mov dword [esp + 0xac], 0x80008
mov dword [esp + 0xb0], 0x558780
cmp cl, dl
je 0x448f61
test cl, cl
je 0x448f56
mov dword [esp + 0xbc], 0x80
mov edx, 1
jmp 0x448f6a
mov dword [esp + 0xc0], 0x40
mov edx, 1
jmp 0x448f6a
xor edx, edx
mov al, byte [esp + 0x15]
test ch, ch
jne 0x448f7a
test al, al
je 0x449008
cmp ch, al
mov dword [esp + 0x30], 0x200020
mov dword [esp + 0x34], 0x558788
lea ecx, [edx*8]
je 0x448fcb
sub ecx, edx
mov eax, 0x5587a8
shl ecx, 2
mov esi, 0x5587b8
cmp byte [esp + 0x16], 0
cmove eax, esi
mov dword [esp + ecx + 0xa8], 3
mov dword [esp + ecx + 0xac], 0x40004
mov dword [esp + ecx + 0xb0], eax
jmp 0x448ff1
sub ecx, edx
shl ecx, 2
mov dword [esp + ecx + 0xa8], 2
mov dword [esp + ecx + 0xac], 0x80008
mov dword [esp + ecx + 0xb0], 0x558780
lea eax, [esp + 0x30]
mov dword [esp + ecx + 0xb4], 1
mov dword [esp + ecx + 0xb8], eax
inc edx
cmp byte [esp + 0x17], 0
mov ebp, dword [esp + 0x48]
je 0x44903e
lea eax, [edx*8]
sub eax, edx
inc edx
mov dword [esp + eax*4 + 0xa8], 2
mov dword [esp + eax*4 + 0xac], 0x240024
mov dword [esp + eax*4 + 0xb0], 0x5587c8
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xa8]
mov dword [esp + 0xa0], eax
or ecx, 0x400000
cmp dword [esp + 0x18], 0
lea eax, [esp + 0x90]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x4c]
not eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0x7c], 1
mov dword [esp + 0x58], 5
mov dword [esp + 0x78], ecx
mov dword [esp + 0x98], eax
je 0x4490a3
lea eax, [esp + 0x18]
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], eax
mov ecx, dword [ebp]
lea eax, [ecx + 8]
push eax
lea eax, [esp + 0x5c]
jmp 0x449177
mov esi, dword [esi + 0x10]
lea eax, [esp + 0x5c]
push 0x34
push 0
push eax
call fcn.004f3280
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x58], 4
mov dword [esp + 0x88], ecx
mov dword [esp + 0x78], eax
test esi, esi
je 0x449148
test eax, 0x2000
je 0x4490fb
push 0x558850
push ebx
call fcn.00433610
add esp, 8
mov eax, dword [esp + 0x38]
cmp dword [eax + 0x14], 0
je 0x44911a
push 0x5588e0
push ebx
call fcn.00433540
mov eax, 0x3b
jmp 0x449213
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x5c]
push esi
push eax
call fcn.0044a470
mov esi, eax
add esp, 0xc
test esi, esi
je 0x449155
push 0x558960
push ebx
call fcn.00433540
mov eax, esi
jmp 0x449213
or ecx, 0x400000
mov dword [esp + 0x88], ecx
cmp dword [esp + 0x18], 0
je 0x44916c
lea eax, [esp + 0x18]
mov dword [esp + 0x5c], 1
mov dword [esp + 0x60], eax
mov ecx, dword [ebp]
lea eax, [ecx + 8]
push eax
lea eax, [esp + 0x5c]
push ecx
push 0
push 0
push eax
mov eax, dword [0x1342df4]
push 0
push 2
push 0x5587f0
mov eax, dword [eax + 0xc]
push 0
call eax
mov esi, eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4491a3
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
test esi, esi
je 0x4491ed
push 0x100
lea eax, [esp + 0xac]
push eax
push esi
call fcn.0041d030
push eax
push 0x558990
push ebx
call fcn.00433540
push dword [ebp]
call dword [0x1341004]
xor eax, eax
mov dword [ebp], 0
add esp, 0x1c
cmp esi, 0x80090300
setne al
lea eax, [eax*8 + 0x1b]
jmp 0x449216
xor eax, eax
jmp 0x449216
push 0x558438
push ebx
call fcn.00433540
mov eax, 4
jmp 0x449213
push 0x558454
push ebx
call fcn.00433540
mov eax, 0x23
add esp, 8
mov ecx, dword [esp + 0x1a8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00472272
add esp, 0x19c
ret